美文网首页舞动的AndroidAndroid开发经验谈Android开发
「Android 进阶」Android 事件分发机制

「Android 进阶」Android 事件分发机制

作者: dongbingliu | 来源:发表于2018-03-03 11:21 被阅读221次

    Android 事件分发机制

    【事件分发】:public boolean dispatchTouchEvent(MotionEvent ev)
    「分发顺序」:Activity -> ViewGroup -> view

    【事件拦截】:public boolean onInterceptTouchEvent(MotionEvent ev)

    【事件消费】:public boolean onTouchEvent(MotionEvent event)
    「消费顺序(响应顺序)」: view -> ViewGroup -> Activity

    image.png

    事件分发业务流程说明图( 1 )

    事件分发业务图

    备注:

    1. dispatchTouchEvent和 onTouchEvent的框里有个【true---->消费】的字,表示的意思是如果方法返回true,那么代表事件就此消费,不会继续往别的地方传了,事件终止
    2. 图的事件是针对ACTION_DOWN
    3. 事件拦截 onInterceptTouchEvent(MotionEvent ev) ,true 表示拦截,表示事件不在向下分发,falsesuper.onInterceptTouchEvent(ev) 继续向下分发事件;

    事件分发业务流程说明图( 2 )

    事件分发业务流程说明图
    参考文章:
    1. 图解 Android 事件分发机制
    2. Android 事件分发demo

    相关文章

      网友评论

      本文标题:「Android 进阶」Android 事件分发机制

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