要實現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"