Android触摸反馈
事件分发 当点击事件发生时,事件最先传递给Activity,Activity会首先将事件将被所属的Window进行处理,即调用 superDispatchTouchEvent() 方法。通过观察superDispatchTouchEvent()方法的调用链,我们可以发现事件的传递顺序: PhoneWinodw.superDispatchTouchEvent() DecorView.dispatchTouchEvent(event) ViewGroup.dispatchTouchEvent(event) 事件一层层传递到了ViewGroup里。 每到一个子view,看他的onInterceptTouchEvent 方法是否拦截,ontouch是否消费方法,如果没有继续向下dispatchTouchEvent分发事件,都不处理向上传,当回到顶级,若顶层(activity)也不对此事件进行处理,此事件相当于消失了(无效果)。 View没有onInterceptTouchEvent()方法,有dispatchTouchEvent,一但有点击事件传递给它,它的ouTouchEvent()方法就会被调用。 ouTouchEvent是否消费事件取决于 ACTION_DOWN 事件 或 POINT_DOWN 事件是否返回 为 true 递归 ViewGroup(View)