viewpager禁止左右滑动
时间: 2023-09-04 10:14:40 浏览: 280
要禁止 ViewPager 左右滑动,你可以创建一个自定义的 ViewPager 类,并重写它的 `onTouchEvent()` 方法。在 `onTouchEvent()` 方法中,你可以根据需要来处理滑动事件。
以下是一个示例代码,展示如何禁止左右滑动:
```java
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import androidx.viewpager.widget.ViewPager;
public class CustomViewPager extends ViewPager {
private boolean isSwipeEnabled;
public CustomViewPager(Context context) {
super(context);
init();
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
isSwipeEnabled = false; // 默认禁止滑动
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return isSwipeEnabled && super.onTouchEvent(event);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return isSwipeEnabled && super.onInterceptTouchEvent(event);
}
public void setSwipeEnabled(boolean enabled) {
isSwipeEnabled = enabled;
}
}
```
使用这个自定义的 ViewPager 类替代原先的 ViewPager,然后调用 `setSwipeEnabled(false)` 来禁止左右滑动。例如:
```java
CustomViewPager viewPager = findViewById(R.id.viewPager);
viewPager.setSwipeEnabled(false); // 禁止滑动
```
通过这种方式,你可以控制 ViewPager 的滑动行为,实现禁止左右滑动的效果。
阅读全文