首先設計到下面4個方法;
先後順數也是這麼執行的,
dispatchtouchevent 分發
onintercepttouchevent 攔截
ontouch 觸控
ontouchevent 觸控事件
1、首先講述一下
ontouch ontouchevent
的區別
ontouch 是
view ontouchlistener
介面裡面的方法,
ontouchevent
是activity
裡面的方法;
ontouch是在
ontouchevent
之前響應,
如果ontouch返回值為
true,
1、表示這個touch事件被
ontouch
方法處理完畢,不會把
touch
事件再傳遞給
activity,
也就是說ontouchevent方法不會被呼叫。
這時候ontouch會走down ,然後外層的走up,自己最後也走
up然後結束; 2、
對down up 的響應是先響應
down
再響應up
事件,乙個迴圈
例如:外層dispatchtouchevent 的down,
中dispatchtouchevent,
onintercepttouchevent
的down ,
內dispatchtouchevent down ,ontouch 的
down
外層dispatchtouchevent 的up ,中
dispatchtouchevent
,onintercepttouchevent
的up
,內dispatchtouchevent
的up
,ontouch
的 up
2、dispatchtouchevent 返回true的情況;
外層dispatchtouchevent down 走自己的
down和up
然後就結束了。
3、onintercepttouchevent返回
true
的時候;
外層onintercepttouchevent返回
true
的時候,我們走本層的
ontouch
和ontouchevent
方法;同樣還是先走
down
後走up
這種方式;
Touch事件傳遞的實驗
通過自定義的relayout linearlayout textview 布局為 分別列印事件方法 1.當所有的都是super的時候,點選textview的時候,事件的傳遞是 此時,我再textview上隨意的滑動,是沒有任何的事件過程的。2 如果我在textview的ontouchevent中返回...
Touch事件的傳遞機制筆記
事件序列 action down,action move,action up touch事件傳遞涉及到的方法 dispatchtouchevent 分發事件 onintercepttouchevent 攔截事件 ontouchevent 處理觸控事件 touch事件的傳遞過程 activity獲取事...
剖析touch事件在View中的傳遞
話不多說,直奔主題,先來看一張圖 然後簡單說明下 總的來說,觸控事件是從最外層的viewgroup,一級一級傳遞進來的 事件傳遞到乙個view viewgroup 先 到dispatchtouchevent 方法,這裡如果不super的話,就直接只執行當前 了,super的話,到onintercep...