ViewPager 如何禁用左右滑动
时间: 2023-07-16 09:16:52 浏览: 29
可以通过自定义一个类似于 `NoScrollViewPager` 的 `ViewPager` 来禁用左右滑动,具体实现如下:
```java
public class NoScrollViewPager extends ViewPager {
private boolean noScroll = true;
public NoScrollViewPager(Context context) {
super(context);
}
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent arg0) {
if (noScroll) {
return false;
} else {
return super.onTouchEvent(arg0);
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
if (noScroll) {
return false;
} else {
return super.onInterceptTouchEvent(arg0);
}
}
public void setNoScroll(boolean noScroll) {
this.noScroll = noScroll;
}
}
```
使用时,只需要将布局文件中的 `<ViewPager>` 替换为 `<包名.NoScrollViewPager>`,然后在代码中调用 `setNoScroll(true)` 即可禁用左右滑动。