原文:http://blog.youkuaiyun.com/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将无法接受事件。