2014-3-22 Android小组活动内容

本周活动内容:

Android的触摸事件消息传递机制

涉及知识点

  • dispatchTouchEvent
  • onInterceptTouchEvent
  • onTouchEvent
  • View,ViewGroup的继承关系

简介:

        触碰消息在派发给子控件之前要先调用ViewGroup的onInterceptTouchEvent拦截器,如果消息没有被拦截,则向其子控件派发ACTION_DOWN消息。如果子控件是ViewGroup,则由它的dispatchTouchEvent 函数再次进行消息派发,重复上面的工作;如果子控件是View,则会由View的onTouchEvent响应ACTION_DOWN事件。

 

       如果在ViewGroup的onInterceptTouchEvent拦截器中将消息拦截了,则后续不会再向子控件传递ACTION_DOWN消息了,会直接将消息传递给这个ViewGroup的onTouchEvent进行响应。

 

       在控件进行onTouchEvent处理过程中,如果控件没有消费这个ACTION_DOWN事件,则会将ACTION_DOWN传递给其父ViewGroup的onTouchEvent进行处理,直到由哪一层ViewGroup消费了ACTION_DOWN事件为止。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注