第一步:创建一个自定义工具类NoScrollViewPager
public class NoScrollViewPager extends ViewPager {
private boolean noScroll = false;
private boolean noScrollAnim = false;
public NoScrollViewPager(Context context) {
super(context);
}
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* 设置是否能左右滑动
* @param noScroll true 不能滑动
*/
public void setNoScroll(boolean noScroll) {
this.noScroll = noScroll;
}
/**
* 设置没有滑动动画
* @param noAnim false 无动画
*/
public void setScrollAnim(boolean noAnim){
this.noScrollAnim = noAnim;
}
@Override
public boolean onTouchEvent(MotionEvent arg0) {
return !noScroll && super.onTouchEvent(arg0);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
return !noScroll && super.onInterceptTouchEvent(arg0);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
super.setCurrentItem(item, smoothScroll);
}
@Override
public void setCurrentItem(int item) {
super.setCurrentItem(item,noScrollAnim);
}
}
第二步:在你的XML布局中 把Viewpager 控件替换成工具类的路径名
<com.***.NoScrollViewPager
android:id="@+id/pager_id"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.***.NoScrollViewPager>
第三步:在Activity中 调用禁止的方法
//viewpager ID
NoScrollViewPager pager_id = findViewById(R.id.pager_id);
//禁止viewpager滑动
pager_id.setNoScroll(true);
//禁止滑动动画
pager_id.setScrollAnim(false);