【Android】自定义ViewPage 禁用左右滑动事件

自定义ViewPage类 实现

“禁用左右滑动事件”

本文背景:
底部Tab导航,Content使用ViewPage ,然后适配器填充Fragment。最常见应用的一个界面。

今天想要在其中一个Fragment中再添加个的ViewPage,ViewPage默认可左右滑动,这样就成功为自己搞了个坑。

所以对于外联的ViewPage,我只想通过底部 Tab导航来切换(就是禁用ViewPage默认的滑动事件),这样内联的ViewPage的左右滑动就不会受到影响。


/**
*创建 ViewPage 子类来实现
*/
public class CustomViewPager extends ViewPager {

    private boolean isPagingEnabled = true;

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

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

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

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

     //调用这个来实现控制 ViewPage 滑动事件
    public void setPagingEnabled(boolean b) {
        this.isPagingEnabled = b;
    }}

以上代码为转载自:原文 感谢。

你可能感兴趣的:(Android)