0%

android 触控事件传递机制

Android中提供了ViewGroup、View、Activity三个等级的Touch事件处理。也就是说,这三个地方都有事件回调方法。至于三者之间的执行顺序,将在下面详细阐述: 整体上看,事件传递顺序为ViewGroup::onInterceptTouchEvent() –> ViewGroup或View的onTouchEvent() –> Activity::onTouchEvent() 由于上面每个事件回调方法的返回值不同,导致事件本身及顺序发生微妙变化。下面以返回值为主线来详细阐述: 需要注意以下两点: 1、onInterceptTouchEvent()返回true,那么这个方法只会拦截动作ACTION_DOWN。 2、onInterceptTouchEvent()负责事件分发(事件传递方向),onTouchEvent()负责事件处理(消费)。 转自:http://orgcent.com/android-touch-event-mechanism/