今天本想写一个简单的RecyclerView的demo,数据和逻辑都处理好之后,发现一个诡异的问题,item的高度都是固定,无论里面是有图片还是无图片
如此糟糕的界面布局,其实代码很简单
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/friend_right_root"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="#660000ff"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp">
<TextView
android:id="@+id/friend_right_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="Medium Text"
android:textColor="@color/gray"
android:textSize="16sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:background="@color/txt_checked"
android:gravity="right"
android:orientation="vertical"
>
<TextView
android:id="@+id/friend_right_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="Medium Text"
android:textSize="16sp"
/>
<ImageView
android:id="@+id/friend_right_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/aa"/>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/friend_right_head"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="5dp"
android:background="@mipmap/default_avatar"/>
</LinearLayout>
</LinearLayout>
这时我很疑虑,为什么,之前写过很多的item,都是没有问题的啊,看着简单的代码,没发现什么异常啊。苦恼了半天,胡乱改改布局,奇迹发生了,界面有变化了
代码变化很小
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/friend_right_head"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="5dp"
android:background="@mipmap/default_avatar"/>
</LinearLayout>
是不是有点泪奔的感觉啊,view的外层加了一个viewgroup,布局就被撑起来,不知为何意。
希望能帮助有同样问题的小伙伴。