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

Android 事件分发机制

作者: xulj100 | 来源:发表于2019-12-23 09:42 被阅读0次

    从手触摸屏幕开始所产生一系列MotionEvent事件,将事件传递到具体的某一个View的过程就叫做事件分发,就是事件层层传递,直到被消费。

    事件 简介
    ACTION_DOWN 手指初次接触到屏幕时触发。
    ACTION_MOVE 手指在屏幕上滑动时触发,会会多次触发。
    ACTION_UP 手指离开屏幕时触发。
    ACTION_CANCEL 事件被上层拦截时触发。
    类型 相关方法 ViewGroup View
    事件分发 dispatchTouchEvent
    事件拦截 onInterceptTouchEvent X
    事件消费 onTouchEvent
    public boolean dispatchTouchEvent(MotionEvent ev){
       boolean consume;
       if(onInterceptTouchEvent(ev)){
           consume = onTouchEvent(ev);
       }else {
           consume = child.dispatchTouchEvent(ev);
       }
       return consume;
    }
    

    看上面代码可知,调用dispatchTouchEvent()方法则说明事件已经交到该View手上了,接来下要么View自己拦截(onInterceptTouchEvent())处理事件,要么传递给子View。

    相关文章

      网友评论

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

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