Android touch事件簡要筆記

2021-08-22 10:31:52 字數 691 閱讀 7345

主要測試下intercept:

//viewgroup dispatchtouchevent 超級偽碼

if (actionmasked == motionevent.action_down)

//mfirsttouchtarget:viewparent中消費 事件序列 的子view

// (從down到up或cancel這一串叫乙個事件序列)

if (actionmasked == motionevent.action_down || mfirsttouchtarget != null) else

} else

控制的閥門

action_down (down事件,也就是事件序列的開始)

mfirsttouchtarget (該父view的子view是否 消耗事件序列)

disallowintercept(是否允許父view攔截 事件)

備註:

上面巴拉巴拉的一堆,推薦任玉剛的《android開發藝術探索》,裡面講的很清楚。

總結父view onintercepttouchevent down

子view操控flag_disallow_intercept,讓父view一直走jump2:,某些情況走jump1: ,在jump1: 中父view就可以攔截(這樣也可以解決滑動衝突)

Android touch事件傳遞

android的touch事件分發機制,涉及到每一層級的處理和傳遞,比較複雜,本文是在參考以下日誌和android原始碼的基礎上總結的,在此表示感謝 1.touch事件傳遞過程 touch事件經過android核心層的處理,最終會傳遞到activity的dispatchtouchevent方法,由此...

android touch事件解析

android touch事件 乙個簡單的觸控螢幕所經歷的事件 action down action move action move action move.action move action up,即乙個acitondown,多個actionmove,乙個actionup android每個g...

android Touch事件流程

當乙個事件來臨的時候,會先傳遞給最外層的viewgroup 父view,比如linearlayout,framelayout 如果這個viewgroup沒有去攔截這個事件的話,才會給傳遞給下層的viewgroup或者view。如果被攔截掉的話,它會自己去處理這個事件,這個viewgroup內的子vi...