View 事件分發機制

2021-07-15 00:04:09 字數 775 閱讀 7458

小小總結下

詳細看1:viewgroup繼承自view,新增了onintercepttouchevent函式,view無此函式,故不會攔截

2:首先呼叫的是dispatchtouchevent,在此函式中進行判斷是否呼叫onintercepttouchevent,ontouch,

ontouchevent;故dispatchtouchevent最先呼叫,但最後返回

3:onintercepttouchevent預設返回false,若不重寫此方法則預設不攔截。

4:上圖執行順序為:a

dispatchtouchevent->aonintercepttouchevent->bdispatchtouchevent->bonintercepttouchevent->cdispatchtouchevent->conintercepttouchevent->ddispatchtouchevent

->d為view的話沒有onintercepttouchevent

->dontouchevent->contouchevent->bontouchevent->aontouchevent

若onintercepttouchevent返回true則攔截,跳到他對應的ontouchevent然後繼續執行;若ontouchevent返回true則表示已消費,不再向後執行

View事件分發機制

擷取自 android開發藝術探索 三個重要方法 public boolean dispatchtouchevent motionevent ev 事件分發,return true向子view傳遞,return false傳遞到父view public boolean onintercepttouc...

View的事件分發機制

view事件的分發機制由三個方法共同完成,這三個方法是 public boolean dispatchtouchevent motionevent ev public boolean onintercepttouchevent motionevent ev public boolean ontouc...

View的事件體系 事件分發機制

viewgroup事件傳遞方法 dispatchtouchevent onintercepttouchevent ontouchevent 1 dispatchtouchevent 當前view接到事件呼叫的方法,返回boolean型別值,會呼叫如下偽 邏輯,所以返回值會受自己的 ontouchev...