事件的分發、消費機制在activity,viewgroup,view中進行實現,其中viewgroup中多了乙個事件攔截機制其實現方法如圖:
touch事件三種方法的理解:
/**
* 1.事件分發
* 返回系統預設情況下,以隧道形式 從根元素一次向下傳遞
* 返回 true 表示觸控事件已經被消費掉了 將不在向下分發
* 返回 false
**@param ev
*@return
*/@override
public
boolean
dispatchtouchevent(motionevent ev)
/*** 事件消費
* 最底層的元素由優先處理事件的許可權
* 1.系統預設情況 false 以冒泡行 從底元素依次向上傳遞
* 2.返回true 表示事件已經消費掉了,將不在向上傳遞
**@param event
*@return
*/@override
public
boolean
ontouchevent(motionevent event)
/***
*@param ev
*@return true 表示攔截事件,事件將不在向下分發
* 系統預設,false 事件向下分發
*/@override
public
boolean
onintercepttouchevent(motionevent ev)
以下是touch觸控事件時系統預設的流程圖:
Android中View的事件分發和攔截機制
部落格轉移到個人站點 歡迎來吐槽 1.關係到事件分發和攔截機制的三個方法 1.dispatchtouchevent motionevent event 方法 2.onintercepttouchevent motionevent event 方法 3.ontouchevent motionevent...
Android中View的事件分發和攔截機制
1.關係到事件分發和攔截機制的三個方法 1.dispatchtouchevent motionevent event 方法 2.onintercepttouchevent motionevent event 方法 3.ontouchevent motionevent event 方法2.dispat...
Android 事件分發
touch 事件的分發和消費機制dispatchtouchevent onintercepttouchevent 和ontouchevent dispatchtouchevent 事件分發 true 事件會分發給當前view 並由dispatchtouchevent 方法消費,同時停止向下傳 fal...