将 up/down 滑动事件从 ViewPager2 传播到父 BottomSheet

Propagate up/down swipe event from ViewPager2 to parent BottomSheet

我有一个 BottomSheetBehavior 视图,其中包含一个 ViewPager2。除了试图在 ViewPager2 上滑动 BottomSheet up/down 之外,两者都运行良好并且做他们需要的事情。 同样,如果手指在 ViewPager2 上方或下方,则在 BottomSheet 上滑动 up/down 效果很好,除非手指在 ViewPager2.

上方

我需要了解如何将 up/down 滑动事件通过 ViewPager2 传播到 BottomSheet

代码非常零散,所以在这里展示会很复杂,而且没有多大意义。我只需要如何传播事件的原理。

这是因为ViewPager2内部RecyclerView的嵌套滚动默认是开启的。要禁用它:

viewPager.children.find { it is RecyclerView }?.let {
        (it as RecyclerView).isNestedScrollingEnabled = false
}