事件分发介绍
首先我们先要知道Activity中View的层级,是自上而下的,具体我们可以去参考Activity的setContentView()跟踪源码。即:
Activity ——PhoneWindow——DectorView——rootV
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 开源分享
iewGroup——子View
一个完整的事件流程是从Down开始的,UP结束,我们称作这为一个事件序列。某一事件序列经过触摸屏传递各个View,由各个view来处理这一事件的过程,即为事件分发。事件分发的三个重要方法:
-
dispatchTouchEvent(MotionEvent ev) :用来进行事件的分发
-
onInterceptTouchEvent(MotionEvent ev) :用来进行事件的拦截,dispatchTouchEvent中调用该方法,view中未提供该方法。
-
onTouchEvent(MotionEvent ev) :用来处理Touch事件,dispatchTouchEvent中调用。