Android中事件傳遞的方法有三種:
通過View的dispatchTouchEvent()方法進行事件傳遞。在這種方式下,事件首先由Activity的dispatchTouchEvent()方法調用,然后傳遞給根布局的dispatchTouchEvent()方法,再逐級傳遞給子View的dispatchTouchEvent()方法,直到找到最終的事件接收者。
通過View的onTouchEvent()方法進行事件傳遞。在這種方式下,事件從最終的接收者開始傳遞,逐級向上傳遞到根布局,直到Activity的onTouchEvent()方法。
通過ViewGroup的onInterceptTouchEvent()方法進行事件傳遞。在這種方式下,事件首先傳遞給根布局的onInterceptTouchEvent()方法,然后傳遞給子View的onInterceptTouchEvent()方法,如果某個子View的onInterceptTouchEvent()方法返回true,則該子View成為事件的接收者,否則繼續向下傳遞,直到找到最終的接收者。