两个viewpager嵌套使用时,不希望内部viewpager滑动到最后一个继续左滑去引起外部viewpager滑动
开发中遇到这样的需求,有两个viewpager嵌套,产品要求内部viewpager滑到到最后一个item后,不能继续左滑,不能引起外部viewpager滑动,思来想去只能去重写viewpager,由内部viewpager去控制外部viewpager是否可以滑动,这是目前的方案,仅做参考!!!
代码如下:
内部viewpager
class InnerViewPager(context: Context?, attrs: AttributeSet?) : ViewPager(context, attrs) {
var mParentViewPager: OutterViewPager? = null
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
Log.d("dispatchTouchEvent", "onTouchEvent ev:" + ev?.action)
if (mParentViewPager == null) {
var parentView = parent
for (index in 0..10) {
if (parentView != null) {
if (parentView is OutterViewPager ) {
mParentViewPager = parentView
break
} else {
parentView = parentView.parent
}
} else {
break
}
}
}
when (ev?.action) {
MotionEvent.ACTION_DOWN -> {
mParentViewPager?.