總結:
1 事件的傳遞方向為:從最外層(Activity)傳遞至最内層(某個View)
事件的消費方向為:從最内層(某個View)傳遞至最外層(Activity)
該兩個方向是相反的
2 ViewGroup中事件處理的流程是:
dispatchTouchEvent->onInterceptTouchEvent->onTouchEvent
View中事件處理的流程是:
dispatchTouchEvent->onTouchEvent
隻有目前者傳回true時後者才會被執行
3 ViewGroup繼承自View
ViewGroup中的dispatchTouchEvent預設值是true,表示分發
ViewGroup中onInterceptTouchEvent預設值是false,表示未攔截
ViewGroup中onTouchEvent預設值是false,表示未消費
View中的dispatchTouchEvent預設值是true,表示分發
View中onTouchEvent傳回預設值是true,表示已消費