android 事件传递机制 心得

看了网上很多资料。

最后我发现可以用很简单的几句话就能把它说清楚

1 每个 viewgroup 内都有 三个方法  

a  dispatchTouchEvent  是自己决定要不要(管他爹)要这个苹果的 一般使用方法是 在此方法内
     getParent().requestDisallowInterceptTouchEvent(false/true)
      true表示要了, 苹果拿到手  false 表示 不要了,那这个苹果还在他爹那里

b  onintercepTouchEvent  是这个苹果要不要往下发的,(到了这一步 说明上一步是 要了,苹果拿到手)

c  onTouchEvent 苹果自己吃了,(这一步被执行到的话比较特殊,分两种情况,


              第二是 就没有往下发 onintercepTouchEvent  返回 true

              直接自己吃掉了,

               第一种是,往下发了,onintercepTouchEvent  返回 false(默认情况)
                但是他儿子不要,又返回上来了,子view的ontouch  返回 false
                他就有机会吃到了)

补充知识 view 只有 ontouch 方法 没有 dispatch 和 intercept 方法,
    view 的ontouch 方法默认返回true
原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/5453223.html