Android学习之路-----事件分发机制小结

来源:互联网 发布:涉外商标代理人 知乎 编辑:程序博客网 时间:2024/05/22 17:18

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