在 ViewPager 中禁用滑动

Disable swiping in ViewPager

这几天我尝试禁用 SWIPE。我在 Whosebug 上阅读了很多对话,但所有这些都不起作用或太旧了。我有下一个Button。只有在下一个 Button 时,用户才应该在不滑动的情况下进入下一个 Layout

所以有人有禁用滑动的解决方案吗?

为了实现这样的功能,您需要创建自己的 ViewPager 子class。

它应该有一个新字段:例如

private boolean swipeEnabled;

您还需要覆盖 onInterceptTouchEventonTouchEvent 并检查用户当前是否启用/禁用了 ViewPager

例如

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

然后在您托管 ViewPager 的代码中,您应该有一个启用和禁用方法,可以根据您的需要更改该新字段的值。

确保在您的 xml 布局中使用这个新的 class 而不是默认的 ViewPager class。