【漫畫技術】揭祕Android事件分發機制

silencezwm發表於2017-11-17


型別 描述 用時
選題 silencezwm 0.1小時
寫作時間 2017年11月16日 2.5小時
審稿 silencezwm 0.5小時
校對上線 silencezwm 0.2小時

Tips:4個環節,共計約3.3小時的精心打磨完成上線。


你好,歡迎來到【漫畫技術】欄目

讓你看的開心,學的舒心


掌握Android事件分發機制不僅能應付面試,更重要的是對自己技術棧的一個積累。

通過本文的學習,你可以瞭解到:

一、涉及到的幾個重要方法

二、事件分發流程圖(重點推薦)


一、涉及到的幾個重要方法

型別 dispatchTouchEvent onInterceptTouchEvent onTouchEvent
Activity ×
ViewGroup
View ×

在學習事件分發機制的時候,切記不要死記硬背(因為過幾天,相信你肯定能會忘記的!),重點是理解整個流程。

dispatchTouchEvent:意為分發觸控事件。

onInterceptTouchEvent:意為攔截觸控事件。

onTouchEvent:意為觸控事件。

phonewindow

xml佈局一大塊,就是我們平常編寫xml佈局檔案後展示的地方,此時我只放了一個TextView。

在這裡,我將做如下比喻:

Activity    -->   部門經理
ViewGroup   -->   部門主管
View        -->   部門成員
複製程式碼

該部門如期完成了一個大專案,老闆大喜,決定給該部門獎勵20萬元。

接著,真實情況可能會有如下幾種場景:

場景一(部門經理私吞了):部門經理貪心一起,把本該分發下去的錢踹到自己腰包裡了。

場景二(部門主管欺騙了部門經理):部門經理拿到錢後,立馬找來部門主管,讓他把錢分給部門成員。“錢我分出去了”部門主管對部門經理說,事實卻是部門主管欺騙了部門經理,他把這些錢據為己有,而部門成員卻毫不知情。

場景三(人人有份):該場景皆大歡喜,整個部門的人都分得了錢。


二、事件分發流程圖

此刻,你的腦海中或許還殘留著那幾個場景的畫面感。那麼趕緊分析以下流程圖,對號入座,相信你將收穫頗豐。

事件分發流程圖

該流程圖闡述了“Android事件分發機制”的核心內容。

其中需注意的是:判斷框中,返回的箭頭指向自己,意味著事件被自身消費,也就表明此次事件傳遞週期到此結束。

如你在學習過程中有疑問,可在下方評論留言,我會及時為你解答。

如果你覺得文章不錯,可以收藏和分享哦。最後,預祝你學習愉快!


把文章分享出去吧



相關文章