要实现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的滑动效果会失效。
附加了解:
http://blog.csdn.net/chaihuasong/article/details/17499799
2、
禁用ViewPager左右两侧拉到边界的渐变颜色
android:overScrollMode="never"