网上看了很多关于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);
}
}