touch事件傳遞

2021-07-23 14:48:43 字數 1423 閱讀 3422

首先設計到下面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...