android事件分发介绍
Android
事件分发
事件分发3个步骤
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