public class MyViewPager extends ViewPager {
private boolean canSlide = true;
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.canSlide && super.onTouchEvent(event);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return this.canSlide && super.onInterceptTouchEvent(event);
}
public void setPagingEnabled(boolean canSlide) {
this.canSlide = canSlide;
}
}
问题:
ViewPager+fragment实现Tab效果。
禁止ViewPager的左右滑动。
1、自定义ViewPager继承于ViewPager
2、重写方法
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onTouchEvent(event);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onInterceptTouchEvent(event);
}
3、通过外部设置能否滑动即可
完整代码