recyclerview滚动和viewpager之间的冲突滑动

时间:2018-06-16 18:46:07

标签: android android-fragments android-recyclerview android-viewpager

在我的应用程序中,我有一个包含四个片段的ViewPager。所有片段都由RecyclerView组成,可以垂直滚动。我的问题是,当我尝试导航到其他片段并向左或向右滑动时,首先(大部分)检测RecyclerView的滚动,而不是转到其他片段,RecyclerView会滚动。

更清楚的是,如果我滚动recyclerView,然后突然向左或向右滑动,则viewpager从不滑动。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

当您垂直滚动RecyclerView并越过阈值以触发滚动时,它会消耗TouchEvent。这意味着默认行为是在您从屏幕上松开手指之前,ViewPager将无法触发水平滚动。这是滚动视图如何相互交互的默认行为。您可以尝试通过扩展RecyclerViewViewPager或具有将所有TouchEvent调度到两个视图的协调视图来覆盖触摸处理。但是,这些方法中的任何一种都可能存在许多问题。

如果您要查看Play商店以供参考,其触控操作与您在此处看到的相同。