-
ViewGroup的事件分發(fā)流程圖
查看全部 -
onTouchEvent方法在ViewGroup中是沒有默認(rèn)實現(xiàn)的,該方法的實現(xiàn)是在ViewGroup的父類View中實現(xiàn)的。
當(dāng)onInterceptTouchEvent方法返回true時,可以在ViewGroup的onTouchEvent中實現(xiàn)相應(yīng)的處理邏輯
查看全部 -
onInterceptTouchEvent方法返回true,則表示當(dāng)前的VIewGroup會攔截MotionEvent事件
查看全部 -
onInterceptTouchEvent方法在事件的分發(fā)過程中被調(diào)用,每次分發(fā)都會調(diào)用該方法
查看全部 -
ViewGroup.dispatchTouchEvent背調(diào)用時,說明事件已經(jīng)進入ViewGroup之中;
即事件一旦進入ViewGroup中,則dispatchTouchEvent方法就立即被調(diào)用
查看全部 -
isOutside 為true時表示當(dāng)前的點擊事件是在DecorView以外的
查看全部 -
mCloseOnTouchOutside為true時通常表示Activity以Dialog的方式呈現(xiàn)時
mCloseOnTouchOutside為true時,表示Activity支持點擊空白部分消失
查看全部 -
PhoneWindow.shouldCloseOnTouch方法解析
查看全部 -
Activity中的onTouchEvent代碼,當(dāng)事件沒有被任何View、ViewGroup消費時事件(MotionEvent)才會進入到該方法中
查看全部 -
Activit 將MotionEvent分發(fā)給PhoneWindow,
PhoneWindow將MotionEvent分發(fā)給DecorView;
DecorView將MotionEvent調(diào)用父類中的dispatchTouchEvent方法,最終使事件進入到ViewGroup->View的分發(fā)流程中?
查看全部 -
FrameLayout 繼承自ViewGroup
FrameLayout 中沒有覆寫superDispatchTouchEvent方法,所以DecorView 對象調(diào)用的super.dispatchTouchEvent 方法實際上是調(diào)用的ViewGroup的dispatchTouchEvent方法
查看全部 -
PhoneWindow的superDispatchTouchEvent(MotionEvent ev){
????????return mDecor.superDispatchTouchEvent(ev);
}
PhoneWindow的事件分發(fā)實際上是調(diào)用了內(nèi)部所只有的最頂層的DecorView(FrameLayout類)?mDecor的事件分發(fā)方法
查看全部 -
Android 中Window類的唯一實現(xiàn)類是PhoneWindow
查看全部 -
使用Activity的onUserInteraction()來監(jiān)聽一個觸摸事件的開始,
該方法只會在MotionEvent.ACTION_DOWN的類型下執(zhí)行
查看全部 -
事件在Activity中的分發(fā)流程圖-方法調(diào)用流程說明
查看全部
舉報