前言
我们经常会在页面上放一个AppBar伸缩控件,然后在下方就是个动态高度的列表,如图所示。
但是会出现,列表只显示一行的问题,有文章的解析是说:
为什么ScrollView嵌套的ListView显示的只有一行内容。因为ScrollView默认给children的高度测量模式是UNSPECIFIED
---- jasonlee555
以前,我的解决方案就是去找动态设置列表高度的代码。
相关链接如下,我就不复制过来了:
@晓_伍 ---- 动态设置ListView高度,解决跟ScrollView嵌套冲突
@jasonlee555 ---- ScrollView嵌套的ListView的高度问题
但是最近我发现一个特别简单的方法来应对不确定宽高的控件,让它显示完整。
解决方法
在控件前面嵌套一个RelativeLayout
,就能使得哪些会动态改变大小的控件,自动在ScrollView中更新自己的显示
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcv2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>