Android事件分发dispatchTouchEvent(event)派发
onInterceptTouchEvent(event)拦截
onTouchEvent(event) 处理
requestDisallowInterceptTouchEvent()设置父控件是否拦截事件
MotionEvent由 Activity获取到事件,传递到View,当前的View,派发-> 拦截 -> 处理。
Viwe派发了,onTouchEvent。在处理是否拦截。拦截(true)。那么就不会子控件传递事件了。onTouchEvent,使由子控件向上传递的。如果最底层的View没有处理。就向父控件来传递。注意:requestDisallowInterceptTouchEvent(true);
来设置父View是否阻止下发给当前的View. flase是阻止。true是不阻止。既当前的view可以有事件处理。
if_2.gif
原文:http://www.cnblogs.com/ganwei/p/4884121.html