看书的时候总结了一下View触摸事件的传递逻辑。这里用伪代码写写看。
Activity / Window / ViewGroup 处理触摸事件的逻辑:
1 | if(!dispatchTouchEvent(e)){ |
View 中 dispatchTouchEvent 的逻辑:
1 | public boolean dispatchTouchEvent(MotionEvent e){ |
ViewGroup 中 dispatchTouchEvent 的逻辑
1 | public boolean dispatchTouchEvent(MotionEvent e){ |
当然里面还有各种问题,但是把握好主干总是会让我们在学习这部分知识的时候更加有针对性。