本文主要是介绍事件分发机制2-viewgroup的分发流程down,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
笔记之后整理一下
Viewpager 放一个listview
如果down事件没有处理 move事件也不处理? -- 针对叶子节点
在viewpager中重写onInterceptTouchEvent方法 对子view进行拦截
return true 的话
listview将不能滑动
return false的话
listview可以滑动 viewpager将不能滑动
对onInterceptTouchEvent()不重写就不会冲突 谷歌进行了处理
看下ViewGroup的dispatchTouchEvent分发流程
public boolean dispatchTouchEvent(MotionEvent ev) 在源码的2578行
第一个层级 总经理 viewgroup
第二个层级 总监 viewgroup
第三个层级 清洁工 view 处理事件
Down -- 只有一个
首先在 viewgroup的dispatchtouchevent中
final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;
if (!disallowIntercept) {
intercepted = onInterceptTouchEvent(ev);
ev.setAction(action); // restore action in case it was changed
} else {
这篇关于事件分发机制2-viewgroup的分发流程down的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!