Android---View事件分发事件

  一、dispathTouchEvent/onTouchEvent/onInterceptTouchEvent三者关系

        1、首先系统会调用dispathTouchEvent,判断事件是否能传递给当前View

        2、onInterceptTouchEvent判断是否拦截事件,如果拦截会调用onTouchEvent

        3、如果没有拦截,返回上一级

 public boolean dispathTouchEvent(MotionEvent ev) {//事件能传递给当前View,就会调用,返回结果受如下代码影响
        boolean consume = false;
        if(onInterceptTouchEvent(ev)) {//是否拦截当前事件
            consume = onTouchEvent(ev);//是否消耗当前事件、返回值受此影响
        }else {
            consume = chlid.dispathTouchEvent(ev);//返回值受此影响
        }
        return consume;
    }

二、分发机制传递顺序

    


三、分发机制规则



猜你喜欢

转载自blog.csdn.net/fyq520521/article/details/80507549
今日推荐