第一个判断:这个值在View中可以找到,是个检测用的对象
第二个判断:提供的辅助功能的选项,帮助有障碍的用户的使用,不影响方法调用
接下来正式进入事件分发的逻辑代码中
判断安全策略,
安全策略onFilterTouchEventForSecurity():如果当前的View不在视图顶部,且被设置了不在顶部就不响应触摸事件的话,那么该方法返回false,不分发触摸事件。
ViewGroup:dispatchTouchEvent主要做了3件事
1、去判断是否需要拦截事件
2、在当前ViewGroup中找到用户真正点击的View
3、分发事件到View上
onFilterTouchEventForSecurity方法源码解析
View不在用户可见状态,或View不在最顶层且被设置为不在最顶层不响应用户点击的时候onFilterTouchEventForSecurity方法会返回false
onFilterTouchEventForSecurity(MotionEvent ev) 事件是否符合安全策略
dispatchTouchEvent 中返回值 handle的初始化(false)
dispachTouchEvent 方法功能说明
1去判断是否需要拦截事件
2在当前ViewGroup中找到用户真正点击的View
3分发事件到被点击的View上
ViewGroup事件分发流程源码详解之
dispatchTouchEvent