我在RecyclerView
内有一个非常简单的DialogFragment
单行项目应该显示图像,名字和姓氏以及一些数字。它们在layout_weight的帮助下布局,以平等分享可用空间。
出于某种原因,某些项目似乎随机地计算出layout_weight错误。
请注意,在编辑器预览中,在之后滚动查看有问题的项目,问题得到解决,布局恢复正常。
正如你在图像中看到的那样,在第一个项目中(它并不总是(只是)第一个项目),图像会占用太多空间。
我的布局如下;
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/dodger_blue"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/iv_face"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="vertical">
<TextView
android:id="@+id/et_first_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLargeInverse"
android:textStyle="bold"/>
<TextView
android:id="@+id/et_surname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMediumInverse"/>
</LinearLayout>
<TextView
android:id="@+id/et_id"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMediumInverse"/>
<TextView
android:id="@+id/et_place"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.8"
android:gravity="center|end"
android:textAppearance="?android:attr/textAppearanceLargeInverse"/>
</LinearLayout>
我的适配器; https://gist.github.com/StefanDeBruijn/f032eac6619ac1b8420e352b883ea4dd
答案 0 :(得分:0)
我怀疑这种情况正在发生,因为在图像视图中设置了大图像。因为您已将图像的高度设置为match_parent。为了保持纵横比,它也在宽度上扩展。
您可能应该尝试将此属性添加到xml文件中并修复图像的高度。
机器人:scaleType =&#34; fitXY&#34; 机器人:layout_height = 100dp
如果这可以解决您的问题,请告诉我。