Android事件分发机制小结

Android事件分发在开发中很常见,之前老是搞不懂事件怎么传递啊~这两天上网查阅了不少资料也亲自动手学习了一次,如今来作个小结。。。
Android事件分发机制的本质是要解决:点击事件由哪一个对象发出,通过哪些对象,最终到达哪一个对象并最终获得处理。这里的对象就是指Activity,ViewGroup,View。
UI界面就是由这三者组成。分发的顺序是Activity,ViewGroup,View。
事件分发过程由dispatchTouchEvent()(分发点击事件)、onInterceptTouchEvent()(拦截事件)、onTouchEvent()(处理事件)三个方法协助完成。
事件分发的顺序按上面这三个方法的前后顺序执行,方法的返回值若是为true就拦截该事件,而后交由本身的onTouchEvent()方法处理,false则不拦截,继续传递。事件处理都是由onTouchEvent()方法处理,该方法的返回值若是为true则消费该事件,事件不继续传递,若是为false,则不消费,也不继续传递,而是交给父控件处理。
好了~就先这些吧~之后再补充。学习

相关文章
相关标签/搜索