📅  最后修改于: 2023-12-03 14:54:01.508000             🧑  作者: Mango
在使用NestedScrollView
嵌套RecyclerView
的时候,如果RecyclerView
的高度设置为match_parent
,就会出现布局不匹配的问题,导致我们无法在RecyclerView
中滚动。
NestedScrollView
是一个支持嵌套滚动的容器,它可以嵌套其他滚动控件,比如RecyclerView
。当我们设置RecyclerView
的高度为match_parent
时,它会沾满整个父容器,这个父容器并不是NestedScrollView
,因此RecyclerView
就不能正常滚动了。
我们可以通过设置RecyclerView
高度为指定值的方式解决这个问题,比如我们可以将高度设置成wrap_content
,具体代码如下:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
这样RecyclerView
就可以正常滚动了。
另一种解决方案是将RecyclerView
放置在NestedScrollView
中,这样RecyclerView
就可以正常地滚动。具体代码如下:
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.recyclerview.widget.RecyclerView>
</androidx.core.widget.NestedScrollView>
通过以上两种方式,我们可以很容易地解决布局不匹配父不在NestedScrollView
match_parent
中工作的问题,使RecyclerView
在NestedScrollView
中正常滚动。