ViewGroup的事件分发

来源:互联网 发布:多益网络社招 编辑:程序博客网 时间:2024/05/18 16:56

原文:http://blog.csdn.net/guolin_blog/article/details/9153761

哈哈,首先要和各位说下ViewGroup其实没有事件分发,只有view有,哈哈

ViewGroup的dispatchTouchEvent中会判断该控件是否disallowIntercept禁用掉事件拦截的功能或者onInterceptTouchEvent方法是否返回false,如果条件成立,则会根据点击的区域然后把事件分发给view。也可以通过requestDisallowInterceptTouchEvent()方法进行修改。

如果点击的不是子view,则调用自身的dispachTouchEvent方法,因为自己没有,则调用父类view的dispachTouchEvent。
1.Android的事件传递机制是先传给ViewGroup然后再传递给View的
2.ViewGroup的onInterceptTouchEvent可以事件进行拦截,默认为false,不拦截
3.子view如果将事件消费掉,ViewGroup将无法接受事件。

0 0