-
ViewGroup的事件分发流程图
查看全部 -
onTouchEvent方法在ViewGroup中是没有默认实现的,该方法的实现是在ViewGroup的父类View中实现的。
当onInterceptTouchEvent方法返回true时,可以在ViewGroup的onTouchEvent中实现相应的处理逻辑
查看全部 -
onInterceptTouchEvent方法返回true,则表示当前的VIewGroup会拦截MotionEvent事件
查看全部 -
onInterceptTouchEvent方法在事件的分发过程中被调用,每次分发都会调用该方法
查看全部 -
ViewGroup.dispatchTouchEvent背调用时,说明事件已经进入ViewGroup之中;
即事件一旦进入ViewGroup中,则dispatchTouchEvent方法就立即被调用
查看全部 -
isOutside 为true时表示当前的点击事件是在DecorView以外的
查看全部 -
mCloseOnTouchOutside为true时通常表示Activity以Dialog的方式呈现时
mCloseOnTouchOutside为true时,表示Activity支持点击空白部分消失
查看全部 -
PhoneWindow.shouldCloseOnTouch方法解析
查看全部 -
Activity中的onTouchEvent代码,当事件没有被任何View、ViewGroup消费时事件(MotionEvent)才会进入到该方法中
查看全部 -
Activit 将MotionEvent分发给PhoneWindow,
PhoneWindow将MotionEvent分发给DecorView;
DecorView将MotionEvent调用父类中的dispatchTouchEvent方法,最终使事件进入到ViewGroup->View的分发流程中
查看全部 -
FrameLayout 继承自ViewGroup
FrameLayout 中没有覆写superDispatchTouchEvent方法,所以DecorView 对象调用的super.dispatchTouchEvent 方法实际上是调用的ViewGroup的dispatchTouchEvent方法
查看全部 -
PhoneWindow的superDispatchTouchEvent(MotionEvent ev){
return mDecor.superDispatchTouchEvent(ev);
}
PhoneWindow的事件分发实际上是调用了内部所只有的最顶层的DecorView(FrameLayout类) mDecor的事件分发方法
查看全部 -
Android 中Window类的唯一实现类是PhoneWindow
查看全部 -
使用Activity的onUserInteraction()来监听一个触摸事件的开始,
该方法只会在MotionEvent.ACTION_DOWN的类型下执行
查看全部 -
事件在Activity中的分发流程图-方法调用流程说明
查看全部
举报