安卓事件分发学习之onInterceptTouchEvent方法

背景

安卓事件分发学习之dispatchTouchEvent方法一文中,我记录了事件方法的头一个方法---dispatchTouchEvent()方法的源码阅读过程,现在记录第二个方法---onInterceptTouchEvent()方法的阅读


ViewGroup#onInterceptTouchEvent

这个方法只在ViewGroup中有。

源码如下

    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (ev.isFromSource(InputDevice.SOURCE_MOUSE) // 一般都不是从鼠标过来的,所以默认这个判断不成立,返回false
                && ev.getAction() == MotionEvent.ACTION_DOWN
                && ev.isButtonPressed(MotionEvent.BUTTON_PRIMARY)
                && isOnScrollbarThumb(ev.getX(), ev.getY())) {
            return true;
        }
        return false;
    }

看来默认返回false,因为一般都不是鼠标过来的事件,返回true的if判断直接不成立


结语

事件分发的最后一个方法,参见文章安卓事件分发学习之onTouchEvent方法

猜你喜欢

转载自blog.csdn.net/qq_37475168/article/details/80556748