撤销ViewPager-Fragments左右滑动页面功能

来源:互联网 发布:大数据架构师指南 pdf 编辑:程序博客网 时间:2024/06/07 09:58

需求 : 在开发过程中遇到了使用Viewpager,当只实现点击效果而没有左右滑动效果的需求。

解决方法:重自定义一个继承Viewpager的类,复写父类的onTouchEvent()方法即可,注意“private boolean isCanScroll = false; ”的值是false还是true。并在xml文件中定义成自己的Viewpager。

下面是代码:

import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.MotionEvent;public class ScrollViewPager extends ViewPager {    //定义一个私有属性    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){          //if (isCanScroll){              super.scrollTo(x, y);         // }      }    //复写父类onTouchEvent方法    @Override    public boolean onTouchEvent(MotionEvent arg0) {        if (isCanScroll) {            return super.onTouchEvent(arg0);        } else {            return false;        }    }    @Override    public void setCurrentItem(int item, boolean smoothScroll) {        super.setCurrentItem(item, smoothScroll);    }    @Override    public void setCurrentItem(int item) {        super.setCurrentItem(item);    }    @Override    public boolean onInterceptTouchEvent(MotionEvent arg0) {        if (isCanScroll) {            return super.onInterceptTouchEvent(arg0);        } else {            return false;        }    }}
0 0
原创粉丝点击