Android View的事件分发机制

public boolean dispatchTouchEvent(MotionEvent event)spa

经过方法名咱们不难猜想,它就是事件分发的重要方法。那么很明显,若是一个MotionEvent传递给了View,那么dispatchTouchEvent方法必定会被调用! 返回值:表示是否消费了当前事件。多是View自己的onTouchEvent方法消费,也多是子View的dispatchTouchEvent方法中消费。返回true表示事件被消费,本次的事件终止。返回false表示View以及子View均没有消费事件,将调用父View的onTouchEvent方法事件

public boolean onInterceptTouchEvent(MotionEvent ev)io

事件拦截,当一个ViewGroup在接到MotionEvent事件序列时候,首先会调用此方法判断是否须要拦截。特别注意,这是ViewGroup特有的方法,View并无拦截方法 返回值:是否拦截事件传递,返回true表示拦截了事件,那么事件将再也不向下分发而是调用View自己的onTouchEvent方法。返回false表示不作拦截,事件将向下分发到子View的dispatchTouchEvent方法。event

public boolean onTouchEvent(MotionEvent ev)方法

真正对MotionEvent进行处理或者说消费的方法。在dispatchTouchEvent进行调用。 返回值:返回true表示事件被消费,本次的事件终止。返回false表示事件没有被消费,将调用父View的onTouchEvent方法di

相关文章
相关标签/搜索