ViewPager 如何禁用左右滑动
时间: 2023-07-15 07:15:36 浏览: 117
实现禁用 ViewPager 左右滑动有两种方法:
1. 自定义 ViewPager 类,重写 onInterceptTouchEvent 和 onTouchEvent 方法,在需要禁止左右滑动的时候返回 false。
2. 使用 ViewPager 的 setPageScrollEnabled 方法,将其设置为 false 即可禁用左右滑动,但是这种方法只能在 ViewPager 在布局文件中被定义时使用,无法在运行时动态设置。
以下是第一种方法的示例代码:
```java
public class CustomViewPager extends ViewPager {
private boolean isPagingEnabled = true;
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (!isPagingEnabled) {
return false;
}
return super.onInterceptTouchEvent(event);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!isPagingEnabled) {
return false;
}
return super.onTouchEvent(event);
}
public void setPagingEnabled(boolean enabled) {
isPagingEnabled = enabled;
}
}
```
在代码中可以通过 setPagingEnabled 方法来控制是否可以左右滑动。