一、android的事件相關介面和類:
二、提供的相關方法:
ongesturelistener
ondoubletaplistener
三、各元件中提供的監聽事件的方法:
activity:
viewgroup:
除viewgroup之外的view:
各方法說明:
在android中所有view的事件的傳遞機制都是以下流程:
dispatchtouchevent()[activity]-> dispatchtouchevent()[根layout]-> onintercepttouchevent()[根layout]-> dispatchtouchevent()[子layout]-> onintercepttouchevent()[子layout]-> dispatchtouchevent()[子layout的子view]->ontouchevent()[子layout的子view],傳遞到任何乙個控制項最先到的方法一定是
dispatchtouchevent();
四、mgesturedetector.ontouchevent(event)
該方法是在控制項自身實現的ontouchevent()方法中攔截實現的。具體的**如下:
@override
public boolean ontouchevent(motionevent event)
int action = event.getaction();
boolean r = true;
switch (action)
return super.ontouchevent(event);
}
該方法返回值的true或false是通過該類中實現了android.view.gesturedetector.ondoubletaplistener;和android.view.gesturedetector.ongesturelistener;介面的方法的返回值來決定的。 Android事件傳遞機制
android中的事件型別分為按鍵事件和螢幕觸控事件,touch事件是螢幕觸控事件的基礎事件,有必要對它進行深入的了解。乙個最簡單的螢幕觸控動作觸發了一系列touch事件 action down action move action move action move.action move acti...
Android事件傳遞機制
android開發過程中複雜混合控制項的難點之一的就是事件衝突。我們知道在處理事件衝突中,最重要的方法是 dispatchtouchevent onintercepttouchevent ontouchevent 通過作用這三個方法,我們可以達到事件的分發 攔截 消費的效果。在activity 無o...
Android事件分發機制
public boolean dispatchtouchevent motionevent ev else return consume 上面的一段 將事件分發中三個主要方法的關係表現。一 touch 事件分析 事件分發 public boolean dispatchtouchevent motio...