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