zhpanvip / BannerViewPager

🚀 An awesome banner view for Android,Based on ViewPager2. 这可能是全网最好用的ViewPager轮播图。简单、高效,一行代码实现循环轮播,一屏三页任意变,指示器样式任你挑。
Apache License 2.0
3.6k stars 438 forks source link

3.X版本ViewPager嵌套使用时,内部ViewPager无法滚动 #113

Closed jiajunhui closed 4 years ago

jiajunhui commented 4 years ago

原先2.X版本是可以的。

zhpanvip commented 4 years ago

是否开启了混淆,是否使用了setScrollDuration,是否添加了混淆配置?

jiajunhui commented 4 years ago

没有开启混淆,并未设置scrollDuration

zhpanvip commented 4 years ago

是滑动冲突吗

jiajunhui commented 4 years ago

看情况应该是,原先用的2.7版本的,嵌套滑动是没问题的,然后升级到了3.X后,按照新的API改了改运行后发现内部的ViewPager无法滚动。

zhpanvip commented 4 years ago

没试过ViewPager有没有冲突,但是ViewPager2是正常的。

jiajunhui commented 4 years ago

可能刚才表达有误。我用的也是ViewPager2,2.7版本时是ViewPager嵌套没问题。3.X改为ViewPager2后内部就无法滚动了。

zhpanvip commented 4 years ago

ViewPager2是不存在滑动冲突的,demo中用的也是vp2,你可以参考看下是不是其它地方写的有问题。也可以加交流群详细说明使用情况。刚才问了群里使用情况,ViewPager也是不存在滑动冲突的。

jiajunhui commented 4 years ago

好的,我再看看

jiajunhui commented 4 years ago

安装了下demo,没看到有双层嵌套且都是横向滑动的例子。?

zhpanvip commented 4 years ago

你使用的什么场景,是BVP嵌套BVP?

jiajunhui commented 4 years ago

外层用的是BVP,因为外层需要循环滚动,内层用的是VP2,内层不需要循环滚动,内层滚动到最后一条时再向后滑动,要切到外层的下一条。之前用2.7版本时,使用VP是没问题的。

zhpanvip commented 4 years ago

这个冲突感觉像是VP2的原因。因为VP2本身就存在滑动冲突,但VP就没有。你可以尝试对内层VP2通过getParent().requestDisallowInterceptTouchEvent(true)看是否能解决。具体可参考BVP处理冲突的源码。VP2这点确实挺坑的。

jiajunhui commented 4 years ago

我想到这点了,问题可能来自VP2。谢谢解答,我再看看。

zhpanvip commented 4 years ago

好的,你也可与找下官方给的VP2的demo做参考。我记得他们也是通过getParent().requestDisallowInterceptTouchEvent方法去处理冲突的。

zhpanvip commented 4 years ago

还有,因为BVP处理了冲突,如果可以你也可以尝试用BVP嵌套BVP看是不是还存在这个问题。

jiajunhui commented 4 years ago

好的,我试下。

jiajunhui commented 4 years ago

BVP嵌套BVP是没问题的,很6.

zhpanvip commented 4 years ago

OK