xiaohaibin / XBanner

:fire:【图片轮播】支持图片无限轮播,支持AndroidX、自定义指示点、显示提示文字、切换动画、自定义布局,一屏多显、视频图片混合轮播等功能
Apache License 2.0
2.17k stars 349 forks source link

viewPager+fragment+xbanner有滑动冲突 #167

Closed wangtonggen closed 2 years ago

wangtonggen commented 4 years ago

viewPager可以滑动 xbanner不能滑动

wangtonggen commented 4 years ago

外层viewPager使用的是viewPager2

xiaohaibin commented 4 years ago

这两个结合使用应该会造成冲突的

jolly336 commented 3 years ago

same issue,我做了 viewpager2 hook 处理,把其内部的 recyclerView touchSlop 修改了,也算是一种方式吧。代码如下:Kotlin

viewpager2.reduceDragSensitivity()
afangafang commented 3 years ago

same issue ,这里我借助Google处理ViewPager2嵌套冲突的思路 对NestedScrollableHost.kt 进行了改造,并解决了这一问题,NestedScrollableHost的使用参考googles示例

源代码 private val child: View? get() = if (childCount > 0) getChildAt(0) else null

修改后 private val child: View? get() = when { childCount > 0 && getChildAt(0) is XBanner -> (getChildAt(0) as XBanner).viewPager childCount > 0 -> getChildAt(0) else -> null }