viewgroup
view
//分發事件
//分發事件
dispatchtouchevent
dispatchtouchevent
//攔截事件
\onintercepttouchevent
\//處理事件
//處理事件
ontouchevent
ontouchevent
viewgroup:
事件開始》dispatchtouchevent問自己是否需要攔截此事件?
true:攔截事件,直接交給自己的ontouchevent方法去處理事件,事件終止
false:不攔截,交給子控制項去處理.
view:
傳遞到view控制項:view下沒有子控制項
true:當前view處理該事件,事件終止
false:不處理當前事件,向上回傳(傳到上層的ontouchevent)
如果最高層的ontouchevent收到了子控制項回傳的事件,返回true則處理該事件,返回false,則不處理事件,事件丟失
Android事件分發機制簡單理解
鑑 於之前專案出現過事件衝突的情況,主要是頭部橫向的banner和縱向的滾動的內容區域滑動時候衝突。頁面的三大主要控制項就最外部的scrollview,內容區域的listview,以及橫向滾動的viewpager,這三個控制項都是自定義重寫實現的,每個控制項裡面也實現了很多的邏輯。剛開始看暈了。後來...
事件分發機制
android中的事件型別分為按鍵事件和螢幕觸控事件,touch事件是螢幕觸控事件的基礎事件,有必要對它進行深入的了解。乙個最簡單的螢幕觸控動作觸發了一系列touch事件 action down action move action move action move.action move acti...
事件分發機制
對於安卓事件傳遞和消費機制,他給我們提供了3個方法,dispatchtouchevent onintercepttouchevent 和ontouchevent 當監聽到事件時,首先由activity捕獲 開始進入事件分發流程.dispatchtouchevent 如果返回的是true,表明事件不會...