美文网首页
Android事件分发机制

Android事件分发机制

作者: JC_Hou | 来源:发表于2016-10-02 07:12 被阅读21次

Android事件分发机制

  • ACTION_DOWN:

Activity 的dispatchTouchEvent ,只有return super.dispatchTouchEvent(ev) 才是往下走,返回true 或者 false 事件就被消费了(终止传递)。

action_down.png

U型图


action_down_U型图.png
  • ACTION_MOVE和ACTION_UP:
    下图中
    红色的箭头代表ACTION_DOWN 事件的流向
    蓝色的箭头代表ACTION_MOVE 和 ACTION_UP 事件的流向

1.在哪个View的onTouchEvent 返回true,那么ACTION_MOVE和ACTION_UP的事件从上往下传到这个View后就不再往下传递了,而直接传给自己的onTouchEvent 并结束本次事件传递过程。
2.ACTION_DOWN事件在哪个控件消费了(return true), 那么ACTION_MOVE和ACTION_UP就会从上往下(通过dispatchTouchEvent)做事件分发往下传,就只会传到这个控件,不会继续往下传,如果ACTION_DOWN事件是在dispatchTouchEvent消费,那么事件到此为止停止传递,如果ACTION_DOWN事件是在onTouchEvent消费的,那么会把ACTION_MOVE或ACTION_UP事件传给该控件的onTouchEvent处理并结束传递。

move0.png action_move1.png action_move2.png action_move3.png action_move4.png action_move5.png action_move6.png

相关文章

网友评论

      本文标题:Android事件分发机制

      本文链接:https://www.haomeiwen.com/subject/nivlyttx.html