标签:
Android中对于事件的处理有三个函数,dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent,这三个函数返回的true/false值管理事件的分发机制,其实三个函数可以从它的函数名就可以了解到这几个函数一定的用处,需要从整体上对其进行分析
首先是dispatchTouchEvent,事件会从外到里由父控件传递给子控件,而dispatchTouchEvent返回值表示事件是否分配给当前View,false表示不分配,返回给父控件的onTouchEvent,向下传递停止,达到给父控件反馈结果的效果;返回true表示分配给当前View,但是是否会继续向下分配则由当前View的onInterceptTouchEvent和onTouchEvent决定;默认会分配给当前View
其次是onInterceptTouchEvent,如字面意思,该View是否中断这个事件,true表示中断并且由该View的onTouchEvent处理,false表示不中断,分派给子View的dispatchTouchEvent继续决定是否分派;默认会中断
最后是onTouchEvent,如何处理该事件,返回true表示处理该事件并且自行消费,不再传递;而false表示不消费,返回由父View的onTouchEvent来处理这个。
Android学习笔记(十一) Touch Event 机制
标签:
原文地址:http://www.cnblogs.com/toufu/p/4380234.html