CoordinatorLayout 嵌套Recyclerview,Recyclerview嵌套不同的Recyclerview滑动不了

RecyclerView嵌套横向RecycleView
要做一个界面,CoordinatorLayout嵌套AppBarLayout和RecyclerView来实现折叠滑动,我的RecycleView里面布局较多,计划再嵌入RecyclerView来实现,当我用到RecyclerView添加GrideLayoutManager实现GrideView时,怎么都滑动不了,参考官方demo,很容易使用CoordinatorLayout和CollapsingToolbarLayout实现。添加纵向RecyclerView的时候,一切正常,但接着添加横向RecyclerView时,也滑动不了了

解决方式:为横向RecyclerView增加一句setNestedScrollingEnabled(false)

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

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

你可能感兴趣的:(android)