android data binding jetpack VIIII 第一坑
Posted wp7ers
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android data binding jetpack VIIII 第一坑相关的知识,希望对你有一定的参考价值。
<LinearLayout android:id="@+id/ll_item_home_page_pics" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/rl_item_home_page_top" android:layout_marginTop="10dp" android:orientation="horizontal"> <ImageView android:id="@+id/iv_pic0" android:layout_width="0dp" android:layout_height="80dp" android:layout_weight="1" android:scaleType="fitXY" android:src="@drawable/tempic" bind:url="@{product.imgUrls.get(0)}" tools:ignore="ContentDescription" /> <ImageView android:id="@+id/iv_pic1" android:layout_width="0dp" android:layout_height="80dp" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:layout_weight="1" android:scaleType="fitXY" android:src="@drawable/tempic1" bind:url="@{product.imgUrls.get(1)}" tools:ignore="ContentDescription" /> <ImageView android:id="@+id/iv_pic2" android:layout_width="0dp" android:layout_height="80dp" android:layout_weight="1" android:scaleType="fitXY" android:src="@drawable/tempic2" bind:url="@{product.imgUrls.get(2)}" tools:ignore="ContentDescription" /> </LinearLayout>
如上代码,三张图片一行均分布局,LinearLayout + android:layout_weight="1" 很正常的做法。使用glide给图片绑定。
结果-->>>>>图片全出不来。
简单分析也不知道哪个环节出问题了。根本问题是图片的宽高没了。
项目紧先给个解决方案,后期再分析原因。
改用tablelayout 后正常。没到测试期,不知道其它版本系统是不是有问题。
<TableLayout android:id="@+id/ll_item_home_page_pics" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/rl_item_home_page_top" android:layout_marginTop="10dp" android:orientation="horizontal" android:stretchColumns="*"> <TableRow> <ImageView android:id="@+id/iv_pic0" android:layout_width="0dp" android:layout_height="80dp" android:scaleType="fitXY" android:src="@drawable/tempic" bind:url="@{product.imgUrls.get(0)}" tools:ignore="ContentDescription" /> <ImageView android:id="@+id/iv_pic1" android:layout_width="0dp" android:layout_height="80dp" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:scaleType="fitXY" android:src="@drawable/tempic1" bind:url="@{product.imgUrls.get(1)}" tools:ignore="ContentDescription" /> <ImageView android:id="@+id/iv_pic2" android:layout_width="0dp" android:layout_height="80dp" android:scaleType="fitXY" android:src="@drawable/tempic2" bind:url="@{product.imgUrls.get(2)}" tools:ignore="ContentDescription" /> </TableRow> </TableLayout>
注意使用:android:stretchColumns="*" 基本跟android:layout_weight 功能一致。
以上是关于android data binding jetpack VIIII 第一坑的主要内容,如果未能解决你的问题,请参考以下文章
Android Data Binding 系列 -- Binding与Observer实现原理
Android Data Binding 系列 -- Binding与Observer实现原理
android双向数据绑定data-binding使用include时的使用方法
android -------- Data Binding的使用 ( 四 )ListView