简记android触摸事件分发(一) view

View中dispatchTouchEvent

1.调用onTouch (用户自己设置的onTouchlistener)

2. 1中未设置调用 则进行事件系统的处理 onTouchEvent

    2.1 onTouchEvent中处理事件的消费

源码片段:

public boolean dispatchTouchEvent(MotionEvent event){

....

  //noinspection SimplifiableIfStatement
            ListenerInfo li = mListenerInfo;
            if (li != null && li.mOnTouchListener != null
                    && (mViewFlags & ENABLED_MASK) == ENABLED
                    && li.mOnTouchListener.onTouch(this, event)) {
                result = true;
            }

            if (!result && onTouchEvent(event)) {
                result = true;
            }

....

return result;

}

你可能感兴趣的:(简记android触摸事件分发(一) view)