ViewPager禁止左右滑动

网上看了很多关于ViewPager禁止左右滑动的方法,自己尝试了下,发现还是第一种修改方式比较好,记录下来,
后续考虑写一个多ViewPager嵌套的笔记,实现子ViewPager滑动到最后一个Tab时,再继续滑动的话会切换父ViewPager的Tab的功能

/**
 * Created by caihan on 2016/12/1.
 * 自定义ViewPager,控制左右滑动切屏
 * 第一种:修改onInterceptTouchEvent,onTouchEvent
 * 第二种:修改scrollTo(幽默...)
 */
public class CustomViewPager extends ViewPager {
    private static final String TAG = "CustomViewPager";
    private boolean isCanScroll = false;

    public CustomViewPager(Context context) {
        super(context);
    }

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setScanScroll(boolean isCanScroll) {
        this.isCanScroll = isCanScroll;
    }

    @Override
    public void scrollTo(int x, int y) {
        super.scrollTo(x, y);
    }

    @Override
    public void setCurrentItem(int item) {
        super.setCurrentItem(item);
    }

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        return this.isCanScroll && super.onTouchEvent(arg0);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        return this.isCanScroll && super.onInterceptTouchEvent(arg0);
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容