需求描述:
很多时候我们会遇到在ViewPager+Fragment中,fragment里面有左右滑的控件,为了用户更好的体验感,需要让里面左右滑动时不会和fragment的左右滑冲突。
解决方法:在你想要的解决冲突的view中,新建一个view继承原来的view,然后再重写dispatchTouchEvent方法,调用requestDisallowInterceptTouchEvent(true)的方法就可以了
如:
class CustomView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : View(context, attrs) {
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
parent.requestDisallowInterceptTouchEvent(true)
return super.dispatchTouchEvent(ev)
}
}