*此文为学习此博主http://blog.csdn.net/carson_ho/article/details/54136311所写笔记,此博主记录比较全面,大家可直接通过传送门前往
1.事件分发机制
1.对象——点击事件(Touch事件)
*当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)
Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象
2.事件类型*
事件类型 具体动作
MotionEvent.ACTION_DOWN 按下View(所有事件的开始)
MotionEvent.ACTION_UP 抬起View(与DOWN对应)
MotionEvent.ACTION_MOVE 滑动View
MotionEvent.ACTION_CANCEL 结束事件(非人为原因)
*特别说明:事件列
从手指接触屏幕 至 手指离开屏幕,这个过程产生的一系列事件
即当一个点击事件(MotionEvent )产生后,系统需把这个事件传递给一个具体的 View 去处理。
3.事件分发的顺序
即 事件传递的顺序:Activity -> ViewGroup -> View
4. 事件分发过程由哪些方法协作完成?
答:dispatchTouchEvent() 、onInterceptTouchEvent()和onTouchEvent()