觸摸事件分發(fā)
DecorView.java
public boolean dispatchTouchEvent(MotionEvent ev) {
final Window.Callback cb = mWindow.getCallback();
return cb != null && !mWindow.isDestroyed() && mFeatureId < 0 ? cb.dispatchTouchEvent(ev) : super.dispatchTouchEvent(ev);
}
這里的Window.Callback其實就是Activity:
public class Activity extends ContextThemeWrapper implements Window.Callback,...{
即回調(diào)到Activity.dispatchTouchEvent()


總結(jié):收到了ACTION_DOWN,就會收到 ACTION_MOVE、ACTION_UP 等后續(xù)的事件的前提條件就是必須消費該事件,也就是返回true。如果僅僅是在ACTION_DOWN返回true,其他事件返回super,則其他事件沒被消費,會繼續(xù)向上回溯,但是一定會經(jīng)過消費控件本身
Android觸摸事件全過程分析:由產(chǎn)生到Activity.dispatchTouchEvent() - 簡書
[圖片上傳失敗...(image-b8ca09-1587094097878)]
[圖片上傳失敗...(image-9d8e0-1587094097878)]
Android觸摸事件分發(fā)機制詳解_移動開發(fā)_Water的博客-CSDN博客
[圖片上傳失敗...(image-4dd20e-1587094097878)]
[圖片上傳失敗...(image-488e80-1587094097878)]
[圖片上傳失敗...(image-4f849a-1587094097878)]
一文了解Android中路由(Router)的實現(xiàn) - 簡書
[圖片上傳失敗...(image-362ce-1587094097878)]
[圖片上傳失敗...(image-18f9a1-1587094097878)]
Android 觸摸事件分發(fā)機制(一)從內(nèi)核到應(yīng)用 一切的開始 | viseator's blog
[圖片上傳失敗...(image-552505-1587094097878)]
[圖片上傳失敗...(image-b6fc91-1587094097878)]
Android 消息機制(一)消息隊列的創(chuàng)建與循環(huán)的開始 Looper與MessageQueue | viseator's blog
[圖片上傳失敗...(image-120745-1587094097877)]
Android 觸摸事件分發(fā)機制(三)View觸摸事件分發(fā)機制 | viseator's blog
[圖片上傳失敗...(image-46fb2e-1587094097877)]
Input系統(tǒng)—事件處理全過程 - Gityuan博客 | 袁輝輝的技術(shù)博客
[圖片上傳失敗...(image-e47786-1587094097877)]
Input系統(tǒng)—UI線程 - Gityuan博客 | 袁輝輝的技術(shù)博客
[圖片上傳失敗...(image-ccc589-1587094097877)]
[圖片上傳失敗...(image-667833-1587094097877)]
dispatchTouchEvent事件分發(fā)淺析(二)分發(fā) - 云+社區(qū) - 騰訊云
[圖片上傳失敗...(image-32d88f-1587094097877)]
dispatchTouchEvent事件分發(fā)淺析(四)Intercept攔截 - 云+社區(qū) - 騰訊云
?