在Android中,所有的页面都是基于Window的,也就是说在activity中的点击事件dispatchTouchEvent(MotionEvent ev)首先调用getWindow().superDispatchTouchEvent(ev)到抽象类Window的具体实现类PhoneWindow中,在PhoneWindow会调用DecorView(所有activity 的顶部类)的dispatchTouchEvent(MotionEvent ev)中,最终走到VIewGroup的dispatchTouchEvent(MotionEvent ev)中。在此方法中一共做了三件事情,1.是否拦截消费事件;2.在Viewgroup中寻找真正的子VIew; 3.继续分发子View。最终在View中判断是否消费事件,具体如图