参考:https://blog.csdn.net/carson_ho/article/details/54136311#commentsedit ORZ拜读跪谢
1.1Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象,当一个点击事件(MotionEvent )产生后,系统需把这个事件传递给一个具体的 View 去处理。
事件类型 具体动作
MotionEvent.ACTION_DOWN 按下View(所有事件的开始)
MotionEvent.ACTION_UP 抬起View(与DOWN对应)
MotionEvent.ACTION_MOVE 滑动View
MotionEvent.ACTION_CANCEL 结束事件(非人为原因)
1.2事件分发的机制本质是将点击事件MotionEvent传递到某个具体的View以及处理的整个过程
1.3 事件在Activity、ViewGroup、View对象之间进行传递
1.4事件传递的顺序:Activity -> ViewGroup -> View`
1.5 事件分发过程由哪些方法协作完成?
dispatchTouchEvent() 分发传递点击事件 当点击事件能够传递给当前View时会被调用。
onInterceptTouchEvent() 判断是否拦截了某个事件 注意该方法只存在于ViewGroup 普通的view中没有该方法 在dispatchTouchEvent()内部调用
onTouchEvent() 处理点击事件 在dispatchTouchEvent()内部调用</