Android事件分发机制

点击事件Event传递顺序

Event -》 Activity -》window  -> ViewGroup...ViewGroup->View

ViewGroup:

SuperDispatchTouchEvent->  DispatchTouchEvent-> Down || mFirstTouchTarget

Down?intercept=true  :( mFirstTouchTarget?intercept=false:intercepted=true)

intercepted? 不进if和分发:进入分发。

分发 如果有

Down事件不会触发child的dispatchTouchEvent(ev)。只有up move分发给view的dispatch();

mTarget.dispatchTouchEvent(ev);

View:

DispatchTouchEvent -> if(boolean&& Touchls.onTouch()){ onTouchEvent(ev)}     

你可能感兴趣的:(Android事件分发机制)