dispatchTouchEvent interceptTouchEvent onTouchEvent

参考:http://hi.baidu.com/lck0502/item/496ead09cb52a2823c42e260

实例:layout1--->layout2---->textview1

如下图调用顺序

layout1 dispatchTouchEvent

|--不调用super.dispatchTouchEvent(结束)

|--调用super.dispatchTouchEvent--layout1 interceptTouchEvent

                   |--true--layout1 onTouchEven

                   |--false--layout2 dispatchTouchEvent

                        |--不调用super.dispatchTouchEvent(结束)

                        |--调用super.dispatchTouchEvent--layout1 interceptTouchEvent

                                            |--true--layout1 onTouchEvent

                                                  |--true(结束)

                                                  |--false--layout1 onTouchEvent

                                            |--false--tv onTouchEven

                                                  |--true(结束)

                                                  |--false--layout2 onTouchEvent

                                                        |--true(结束)

                                                        |--false--layout1 onTouchEvent

 

总结 传递事件 拦截事件:从下到上 先dispatchTouchEvent分发 再拦截 拦截为true则本onTouchEvent执行 不拦截往上继续传递 

       touch事件:从上到下 上层不消耗touch 想下继续传递

原文地址:https://www.cnblogs.com/wjw334/p/3584017.html