解决方案来自:https://github.com/thoughtbot/expandable-recycler-view/issues/53#issuecomment-362991531
项目中在ConstraintLayout使用到RecyclerView实现一个表格效果(2列,n行),但是高度只为一个item的高度,不会随着item的个数而自适应高度。
解决方法,将RecyclerView包裹在线性布局、相对布局等布局内部,并按需求设置宽高分别为match_parent、wrap_content,将其父布局宽高按需求设置为wrap_content即可。
代码示例如下(一个2列的从上到下布局的自适应高度的列表)
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
tools:itemCount="5"
tools:listitem="@layout/item_layout" />
</RelativeLayout>