现象
当CoordinatorLayout嵌套横向ViewPager2时,在ViewPager2上点住上下滑动会失效。
原因
ViewPager2使用RecyclerView实现,RecyclerView吃掉了nested的一系列方法,导致无法回传至CoordinatorLayout,导致behavior失效,最终无法滑动
解决办法
对CoordinatorLayout内部嵌套的 一切、一切、一切 横向ViewPager
2使用下面这个方法即可,禁止它的nested拦截
viewPager2.children.find { it is RecyclerView }?.let {
(it as RecyclerView).isNestedScrollingEnabled = false
}