1. 程式人生 > >Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()

Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()

Android中觸控事件傳遞過程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。這個是困擾初學者的問題之一,我開始也是。這裡記錄一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的處理過程,以供記憶。 dispatchTouchEvent是處理觸控事件分發,事件(多數情況)是從Activity的dispatchTouchEvent開始的。執行 super.dispatchTouchEvent(ev),事件向下分發。 onInterceptTouchEvent是ViewGroup提供的方法,預設返回false,返回true表示攔截。 onTouchEvent是View中提供的方法,ViewGroup也有這個方法,view中不提供onInterceptTouchEvent。view中預設返回true,表示消費了這個事件。 View裡,有兩個回撥函式 :

    Android中觸控事件傳遞過程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。這個是困擾初學者的問題之一,我開始也是。這裡記錄一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的處理過程,以供記憶。

    dispatchTouchEvent是處理觸控事件分發,事件(多數情況)是從Activity的dispatchTouchEvent開始的。執行

super.dispatchTouchEvent(ev),事件向下分發。

    onInterceptTouchEvent是ViewGroup提供的方法,預設返回false,返回true表示攔截。

    onTouchEvent是View中提供的方法,ViewGroup也有這個方法,view中不提供onInterceptTouchEvent。view中預設返回true,表示消費了這個事件。