由Activity向viewgroup再向view这个顺序就不多说了。。。。一表概括所有分发和消费的情况
方法 | dispatchTouchEvent | onTouchEvent | onInterceptTouchEvent |
默认 | 会向下分发 | 控件能消费则消费,不能消费则向上消费 | 不拦截分发 |
true | 不会向下分发(包括分发自己), 也不会向上消费 | 自己消费(如同控件能消费) | 拦截分发 |
false | 不会向下分发(包括分发自己), 但是会向上消费 | 向上消费(如同控件不能消费) | 不拦截分发 |
备注 | 默认:分发至最后一层view才开始向上(包括自己) 逐级询问是否消费。 true和false:立即取消分发,自己也不消费事件,false向上消费,true不会 | viewgroup和view都可以消费时,view消费 | 只有viewgroup有该方法,拦截后viewgroup自己可以 判断消费 |
理解:一级一级让梨 | 默认:顺序让梨 true:不让梨,自己不吃也不让上级吃 false:不让梨,自己不吃但是给上级吃 | 默认:吃得下就吃,吃不下就让给上级 true:吃得下自己吃 false:吃不下,让给上级吃 | 默认和false:看着让梨不作处理 true:不允许让梨了 |