ViewPager 通过
onInterceptTouchEvent(MotionEvent ev)
以及
onTouchEvent(MotionEvent ev)
两个方法手势是否拦截来确定能否滑动。
public class NoSlidingViewPager extends ViewPager {
private boolean slide = false;// false 禁止ViewPager左右滑动。
public NoSlidingViewPager(@NonNull Context context) {
super(context);
}
public NoSlidingViewPager(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public void setScrollable(boolean slide) {
this.slide = slide;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return slide;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return slide;
}
}