要实现ViewPager禁止手势滑动效果,或者子View与ViewPager滑动冲突时,可以用如下方法解决:
自定义一个ViewPager,继承自ViewPager,重写onInterceptTouchEvent方法,返回false。再设置ViewPager的onTouchListener。
代码如下:
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
mViewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
注意:当只想解决子View与ViewPager的滑动冲突时,如果子View是完全充满ViewPager的,那么ViewPager的滑动效果会失效。

本文介绍如何在Android应用中通过自定义ViewPager类,重写onInterceptTouchEvent方法并设置OnTouchListener来实现禁止手势滑动效果,解决子View与ViewPager之间的滑动冲突问题。注意当子View完全充满ViewPager时,ViewPager的滑动效果可能会失效。
6379

被折叠的 条评论
为什么被折叠?



