项目中突然要求主页不能左右侧滑翻页,只能点击底部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)就可以控制是否滑动了