CoordinatorLayout 嵌套Recyclerview在嵌套Recyclerview滑动出现冲突解决办法

RecyclerView嵌套RecycleView 
要做一个界面,CoordinatorLayout嵌套AppBarLayout和RecyclerView来实现折叠滑动,我的RecycleView里面布局较多,计划再嵌入RecyclerView来实现,当我用到RecyclerView添加GrideLayoutManager实现GrideView时,发现滑动就出现问题,折叠失败,参考官方demo,很容易使用CoordinatorLayout和CollapsingToolbarLayout实现。

解决方式:为最子层得RecyclerView增加一句setNestedScrollingEnabled(false)

CoordinatorLayout实现了NestedScrollingParent,纵向RecyclerView是CoordinatorLayout的子View,RecyclerView的滑动能通知到CoordinatorLayout,继而由CoordinatorLayout协调让CollapsingToolbarLayout发生折叠。

上面出bug的原因也能理解了,横向RecyclerView的父View是纵向RecyclerView,而RecyclerView只实现了NestedScrollingChild,无法像CoordinatorLayout一样响应。所以要关闭横向RecyclerView的嵌套滑动功能,让横向RecyclerView如同其他嵌入纵向RecyclerView的view一样,触发折叠。

猜你喜欢

转载自blog.csdn.net/qq_28674511/article/details/81561631