项目中突然要求主页不能左右侧滑翻页,只能点击底部item进行切换,但又不想改变布局,只能从viewPager入手,动态改变滑动属性,因为不知道哪一天需求又变回来了呢!
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class NoScrollViewPager extends ViewPager {
/**
* true表示可以滑动,false不能滑动
*/
private boolean isPagingEnabled = true;
public NoScrollViewPager(Context context) {
super(context);
}
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onTouchEvent(event);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onInterceptTouchEvent(event);
}
public void setPagerEnabled(boolean enabled) {
this.isPagingEnabled = enabled;
}
}
在使用的是时候,只需要调用setPagerEnabled(true或false)就可以控制是否滑动了 |