NestedScrollView 内部不甩卖 Recyclerview我的问题:解决:

2022-09-01 15:02:22

我有一个这样的布局:

<NestedScrollView>
     <RecyclerView> // vertical recycler view
          <RecyclerView/>  // horizontal recycler view
          <RecyclerView/>
          <RecyclerView/>
          ...
     <RecyclerView>
</NestedScrollView>

结果看起来像谷歌Play商店:enter image description here

我在视图中禁用了嵌套滚动:horizontal Recycler

horizontalRecyclerView.setHasFixedSize(true);
horizontalRecyclerView.setNestedScrollingEnabled(false);

我的问题:

不滚动甩,每当发生时,也停止滚动。vertical recyclerviewACTION_UPvertical recyclerview

我怎么能嵌套在里面,和里面像Playstore一样,并保持滚动平滑。vertical recyclerviewnestedscrollviewhorizontal recyclerviewvertical recyclerview

解决:

使用@vrund purohit 的自定义嵌套滚动视图(下面的代码),以及禁用的嵌套滚动垂直和水平回收器视图:

verticalRecyclerView.setNestedScrollingEnabled(false);
... add each horizontal recyclerviews:
horizontalRecyclerView.setNestedScrollingEnabled(false);

答案 1

使用以下代码实现平滑滚动:

ViewCompat.setNestedScrollingEnabled(recyclerView, false);

答案 2

在 RecyclerView xml 中添加以下内容:

android:nestedScrollingEnabled="false"

推荐