這篇文章會(huì)對(duì)android 的 觸摸事件做一個(gè)簡(jiǎn)要的分析.
下面是我重做的一些圖片,用以分析事件的傳遞過程.
主要分析viewGroup和View之間的事件傳遞,更加具體的細(xì)節(jié)以后再補(bǔ)充.
下面這張圖描述的是是 ACTION_DOWN
的事件傳遞過程.詳細(xì)描述了關(guān)鍵方法的調(diào)用過程.
其他的事件會(huì)因 ACTION_DOWN
事件中各個(gè)方法的返回值不同而有不同的行為,比如跳過某些方法.
關(guān)鍵要記住幾點(diǎn)
-
ACTION_DOWN
事件務(wù)必返回true - dispatchTouchEvent()是事件的出發(fā)點(diǎn)
- onTouchEvent()是事件的最后監(jiān)聽,其他事情處理完才處理的...
- ViewGroup可以攔截事件
- View可以通過getParent().requestDisallowInterceptTouchEvent(true);禁止父View攔截事件