美文网首页
android笔记 事件拦截机制分析  

android笔记 事件拦截机制分析  

作者: 简南京路 | 来源:发表于2015-12-24 02:03 被阅读62次

触摸事件拦截机制

在MotionEvent中封装了不少的事件类型,如

  • 按下MotionEvent.ACTION_DOWN
  • 移动MotionEvent.ACTION_MOVE
  • 离开MotionEvent.ACTIION_MOVE

假设现在有三个控件,分别用三个职位来表示
这三个控件的关系是ViewGroupA 包含 ViewGroupB,ViewGroupB 包含 myView。

  • 总经理 代表 ViewGroupA
  • 部门负责人代表 ViewGroupB
  • 程序员 myView

假如现在有一个 项目介入进来

  • 事件的传递关系是:总经理分发给部长部长分发给程序员
  • 事件的处理关系是:程序员汇报部长部长汇报总经理

那么换装view控件中来,dispatcfhTouchEventOninterceptTouchEvent负责事件的分发,也就是前边所说道的任务分发。onTouchEvent 负责事件的执行。
假如现在用户在myView中做了一个触碰操作,那么

  • 事件的分发到执行
    1.dispatcfhTouchEvent ViewGroupA , OninterceptTouchEvent ViewGroupA
    2.dispatcfhTouchEvent ViewGroupB , OninterceptTouchEvent ViewGroupB
    3.dispatcfhTouchEvent myView, onTouch myView
    4.onTouch ViewGroupA
    4.onTouch ViewGroupB

分发的时候

  • 返回false表示未拦截,继续分发任务
  • 返回ture表示拦截任务,不在继续分发给子控件,自己执行onTouchEvent

处理的时候

  • 返回false表示未处理完成,交给父集控件处理。
  • 返回ture表示不在像负空间汇报,自己决定自己的命运。

相关文章

网友评论

      本文标题:android笔记 事件拦截机制分析  

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