Android 手勢事件機制解析

2021-07-12 01:33:58 字數 997 閱讀 8035

一、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...