Android 事件分發(fā)流程

觸摸事件分發(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()

20180902180141189.png
dispatch.png

總結(jié):收到了ACTION_DOWN,就會收到 ACTION_MOVE、ACTION_UP 等后續(xù)的事件的前提條件就是必須消費該事件,也就是返回true。如果僅僅是在ACTION_DOWN返回true,其他事件返回super,則其他事件沒被消費,會繼續(xù)向上回溯,但是一定會經(jīng)過消費控件本身

Android觸摸事件全過程分析:由產(chǎn)生到Activity.dispatchTouchEvent() - 簡書

[圖片上傳失敗...(image-b8ca09-1587094097878)]

View事件傳遞機制源碼走查 - 簡書

[圖片上傳失敗...(image-9d8e0-1587094097878)]

Android觸摸事件分發(fā)機制詳解_移動開發(fā)_Water的博客-CSDN博客

[圖片上傳失敗...(image-4dd20e-1587094097878)]

susion噠噠 - 簡書

[圖片上傳失敗...(image-488e80-1587094097878)]

Android Binder 機制 - 簡書

[圖片上傳失敗...(image-4f849a-1587094097878)]

一文了解Android中路由(Router)的實現(xiàn) - 簡書

[圖片上傳失敗...(image-362ce-1587094097878)]

一個用來鞏固android基礎(chǔ)的APP - 簡書

[圖片上傳失敗...(image-18f9a1-1587094097878)]

Android 觸摸事件分發(fā)機制(一)從內(nèi)核到應(yīng)用 一切的開始 | viseator's blog

[圖片上傳失敗...(image-552505-1587094097878)]

歸檔 | viseator's blog

[圖片上傳失敗...(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)]

dispatchTouchEvent_百度搜索

[圖片上傳失敗...(image-667833-1587094097877)]

dispatchTouchEvent事件分發(fā)淺析(二)分發(fā) - 云+社區(qū) - 騰訊云

[圖片上傳失敗...(image-32d88f-1587094097877)]

dispatchTouchEvent事件分發(fā)淺析(四)Intercept攔截 - 云+社區(qū) - 騰訊云

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容