ViewGroup事件分發

2021-07-13 11:20:49 字數 549 閱讀 9039

cancelandcleartouchtarget() mfirsttouchtarget=null

當事件為action_down且 mfirsttouchtarget !=null (找到可以接收touch事件的view)

判斷disallowintercept 標誌,如果為false,那就執行onintercepttouchevent(), 如果為true,就將intercepted標誌設定為false 且不執行onintercepttouchevent()。

disallowintercept這個標誌可以通過 requestdisallowtouchevent() 設定。

如果action_down且 mfirsttouchtarget !=null 不成立,那麼intercepted 就為true

onintercepttouchevent() 預設返回false

通過action 和標記檢查cancel ,將值賦給 canceled

也即mfirsttouchtarget為 null,那麼子view 無法處理action_move 和action_up事件

事件分發機制

android中的事件型別分為按鍵事件和螢幕觸控事件,touch事件是螢幕觸控事件的基礎事件,有必要對它進行深入的了解。乙個最簡單的螢幕觸控動作觸發了一系列touch事件 action down action move action move action move.action move acti...

Android Touch事件分發

事件 viewgroup view有子元素 view無子元素 activity 方法功能 public boolean dispatchtouchevent motionevent ev yy ny分發 public boolean onintercepttouchevent motionevent...

Android 事件分發

touch 事件的分發和消費機制dispatchtouchevent onintercepttouchevent 和ontouchevent dispatchtouchevent 事件分發 true 事件會分發給當前view 並由dispatchtouchevent 方法消費,同時停止向下傳 fal...