Android事件分发机制

来源:互联网 发布:区块链 闪电网络 编辑:程序博客网 时间:2024/06/16 08:20

第一次博客  总结一下事件的分发机制   啥都不懂  请大神们不吝赐教!!!



ViewGroup 中的三个方法:dispatchTouchEvent(), onInterceptTouchEvent(), onTouchEvent()

View中的两个方法:dispatchTouchEvent(), onTouchEvent(),注意:View中没有拦截事件的方法。

事件的传递是由外层向内层传递,然后再由内层向外层传递的。

第一种情况,所有的返回值全部为false,也就是没有控件处理事件  也没有ViewGroup拦截事件,事件的传递顺序为:

ViewGroup的dispatchTouchEvent()开始---> ViewGrop 的 onInterceptTouchEvent()-开始-->ViewGrop 的 onInterceptTouchEvent()结束,--->

View 的dispatchTouchEvent()开始--->View的 onTouchEvent()开始----> onTouchEvent()结束(注意  这里面View没有消费事件)


View的dispatchTouchEvent()结束---->ViewGrop 的 onTouchEvent()开始----->ViewGrop 的 onTouchEvent()结束(这里面也没有消费事件)、

ViewGroup的dispatchTouchEvent()结束   接下来就进入了activity的事件流程。


第二种情况  View中消费了事件


第三种情况  View中没有消费事件  ViewGroup中消费了事件


第四种情况  中间有拦截情况的出现

0 0
原创粉丝点击