-
事件分發(fā)對(duì)象:MotionEvent
MotionEvent對(duì)象包含的事件類(lèi)型即動(dòng)作
ACTION_DOWN 按下、ACTION_MOVE 移動(dòng)、ACTION_UP抬起、ACTION_CANCEL取消
事件序列:從手指按下屏幕開(kāi)始,到手指離開(kāi)屏幕所產(chǎn)生的的一系列事件。
?
App傳遞層級(jí)
Activity并不負(fù)責(zé)視圖的控制,只控制生命周期和處理事件,控制視圖的是Window窗口,Window包含一個(gè)DecorView, DecorView代表一個(gè)頂級(jí)View,Activity中setContentView設(shè)置的view是DecorViewd的子view.
Activity->Window->DecorView->ViewGroup->View
主要傳遞對(duì)象及順序
Activity->ViewGroup->View
查看全部 -
源碼查看的目的:
事件什么情況下被消費(fèi),什么情況下被傳遞
查看全部 -
事件分發(fā)
通過(guò)手指對(duì)屏幕的觸摸開(kāi)完成整個(gè)交互過(guò)程
用戶(hù)通過(guò)屏幕與手機(jī)交互的時(shí)候,每一次點(diǎn)擊、長(zhǎng)按、移動(dòng)等都是一個(gè)事件
事件分發(fā)機(jī)制:某一個(gè)事件從屏幕傳遞各個(gè)View,由View來(lái)使用這一事件(消費(fèi)事件)或者忽略這一事件(不消費(fèi)事件),這整個(gè)過(guò)程的控制。
查看全部 -
事件的類(lèi)型
按下(ACTION_DOWN)
移動(dòng)(ACTION_MOVE)
抬起 (ACTION_UP)
取消(ACTION_CANCEL)
事件序列
從手指按下屏幕開(kāi)始,到手指離開(kāi)屏幕所產(chǎn)生的一系列事件
傳遞層級(jí)
Activity->Window->DecorView->ViewGroup->View
主要傳遞對(duì)象及順序
Activity、ViewGroup、View
查看全部 -
View的事件分發(fā)流程圖。
查看全部 -
如果當(dāng)前不是按下事件,且mFirstTouchTarget為null(不存在處理事件的子View),則不調(diào)用onInterceptTouchEvent()方法。
查看全部 -
mFirstTouchTarget不為null,表示當(dāng)前的ViewGroup沒(méi)有攔截事件,并交給了子View處理。
查看全部 -
split為true時(shí),表示重疊的子視圖都可以接收到觸摸事件。
查看全部 -
安全策略onFilterTouchEventForSecurity():如果當(dāng)前的View不在視圖頂部,且被設(shè)置了不在頂部就不響應(yīng)觸摸事件的話(huà),那么該方法返回false,不分發(fā)觸摸事件。
查看全部 -
ViewGroup事件分發(fā)流程圖。
查看全部 -
路路通蘿莉查看全部
-
Activity的事件分發(fā)流程圖。
查看全部 -
Window是個(gè)抽象類(lèi),它唯一的實(shí)現(xiàn)類(lèi)是PhoneWindow。查看全部
-
onUserInteraction在手指按下時(shí)會(huì)立即調(diào)用,可以通過(guò)重寫(xiě)該方法監(jiān)聽(tīng)整個(gè)觸摸事件的開(kāi)始。
查看全部 -
傳遞的層級(jí)。查看全部
舉報(bào)