話不多說,直奔主題,先來看一張圖
然後簡單說明下:
總的來說,觸控事件是從最外層的viewgroup,一級一級傳遞進來的
事件傳遞到乙個view(viewgroup),先**到dispatchtouchevent()方法,這裡如果不super的話,就直接只執行當前**了,super的話,到onintercepttouchevent()方法,這裡比較關鍵,返回false的話,說明不攔截,繼續往下傳,true的話,說明攔截,直接截斷了傳遞鏈,然後轉到本view的outouchevent方法,整個就結束了。
繼續傳遞的話,如果都沒有攔截,就從子view的ontouchevent方法一直傳上來,傳到頂層的view,假如傳遞鏈中間乙個view的ontouchevent返回true的話,
說明這個view已經處理事件了,就到此為止了,不往上傳遞了。
ps:
iPhone開發中touch的事件
在viewcontroller中重寫touch的事件的方法體就可實現特定的touch功能 但這些touch事件會被加在之上的tableview或scrollview等遮蔽,希望知道解決方案的留下方法 下面 實現清掃事件 void touchesbegan nsset touches witheven...
Android中Touch事件的處理
最近和隊友做了個微博傳送助手fuubo 由於主要是做前台,所以當中碰到了很多蛋疼的東西,做過android的人都知道前台是android的硬傷,在 android應用層做得很好的人前台功底都是很強的,這裡就我對處理前台動畫時對android的touch事件 的一些體會心得給大家分享下,如果有錯誤的地...
WPF觸屏Touch事件在巢狀控制項中的響應問題
原文 wpf觸屏touch事件在巢狀控制項中的響應問題 前幾天遇到個touch事件的坑,記錄下來以增強理解。具體是 想把乙個listview巢狀到另乙個listview,這時候如果list view 子listview 的內容過多超過容器高度,它是不會出現滾動條壓縮內容區域的,反而會將滾動區域轉移到...