其实viewPager的跟随手指滑动式他的一大特点之一,解决了我们很多问题,可是在某些特殊的地方,我们是不想让他跟随手指滑动的,其实实现的步骤很简单,一句代码的事
我们知道dispatchTouchEvent()这是屏幕触摸事件的分发器,他的返回值是boolean类型,如果他的返回值是true,那么说明本次触摸事件被消费掉了,会传进来一个新的触摸事件。如果是false,那么说明没有被消费掉,就不会换入一个新的事件。
先看一下源码中的返回值
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return super.dispatchTouchEvent(ev);
}
其实不管是那一层,只要返回值改成true,就都不会执行触摸事件了。
onTouchEvent();onIntercepTouchEnent();onTouchEventListener里面的onTouch方法,这里面的返回值改成true
三个都可以解决这个问题。