美文网首页
安卓事件分发机制

安卓事件分发机制

作者: 皓皓amous | 来源:发表于2023-12-05 10:39 被阅读0次

    安卓事件分发:事件列都是以DOWN事件开始、UP事件结束,中间有无数的MOVE事件,还有可能人员原因事件的cancel事件

    事件分发的本质:
    将点击事件(MotionEvent)传递到某个具体的View & 处理的整个过程
    即 事件传递的过程 = 分发过程。

    事件分发在Activity、ViewGroup、View及其派生类组成间传递

    ViewGroup其本身也是view的子类,是安卓所有布局的父类,ViewGroup实际也是一个view,只是多了可包含子view定义布局参数的功能

    例如:
    1.首先会将点击事件传递到Activity中,具体是执行dispatchTouchEvent()进行事件分发
    2.用户点击具体view控件,然后ViewGroup.dispatchTouchEvent,ViewGroup.onInterceptTouchEvent(事件拦截 false,true),false允许事件继续向子view传递(寻找被点击的子view(遍历所有子view,找到被点击的子view,调用子view控件的dispatchTouchEvent)), true(需要手动复写设置)不允许事件继续向子view传递(事件返回父类,ViewGroup父类dispatchTouchEvent,然后滴哦用自己的OnTouch -> onTouchEvent -> performClick ->OnClick)结束

    相关文章

      网友评论

          本文标题:安卓事件分发机制

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