事件分发机制:dispatchTouchEvent(MotionEvent ev)
dispatchTouchEvent(MotionEvent ev)
onTouchEvent(MotionEvent ev)
事件响应规则:
Cancel事件的触发:当你使用控件在滑动的过程中,超出控件的范围就会执行cancel事件
规则总结:
1、如果手指缓慢滑动很短的距离,viewpager没有切换界面,所以认为viewPager和view都可以执行事件,系统不会取消任何控件的触摸事件,由我们自己决定处理哪个事件。
2、如果手指快速滑动很长的距离,viewpager就会执行界面切换,此时view就会执行cancel方法,取消view的触摸事件,只执行viewPager的触摸事件。
如果事件传递到当前 View 的 onTouchEvent 方法,而该方法返回了 false,那么这个事件会从当前 View 向上传递,
并且都是由上层 View 的 onTouchEvent 来接收,如果传递到上面的 onTouchEvent 也返回 false,这个事件就会“消失”,而且接收不到下一次事件。
如果返回了 true 则会接收并消费该事件。
如果返回 super.onTouchEvent(ev) 默认处理事件的逻辑和返回 false 时相同。
原文:http://www.cnblogs.com/Oldz/p/6392339.html