Android 禁止Viewpager左右滑动功能
Posted derekhan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 禁止Viewpager左右滑动功能相关的知识,希望对你有一定的参考价值。
做项目要求某种情况下ViewPager不能滑动
百度后发现重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了
public class NoScrollViewPager extends ViewPager private boolean noScroll = false; public NoScrollViewPager(Context context, AttributeSet attrs) super(context, attrs); public NoScrollViewPager(Context context) super(context); public void setNoScroll(boolean noScroll) this.noScroll = noScroll; @Override public void scrollTo(int x, int y) super.scrollTo(x, y); @Override public boolean onTouchEvent(MotionEvent arg0) if (noScroll) return false; else return super.onTouchEvent(arg0); @Override public boolean onInterceptTouchEvent(MotionEvent arg0) if (noScroll) return false; else return super.onInterceptTouchEvent(arg0); @Override public void setCurrentItem(int item, boolean smoothScroll) super.setCurrentItem(item, smoothScroll); @Override public void setCurrentItem(int item) super.setCurrentItem(item);
以上是关于Android 禁止Viewpager左右滑动功能的主要内容,如果未能解决你的问题,请参考以下文章
ViewPager1嵌入ViewPager2,两者重叠,怎么禁止ViewPager1的滑动功能?