1.MotionEvent
在手机接触屏幕后的一系列事件
- ACTON_DOWN:手指刚接触屏幕
- ACTION_MOVE:手指在屏幕上移动
- ACTION_UP:手指从屏幕上松开的一瞬间
正常情况下,一次手指触摸屏幕的事件序列为: - 点击屏幕后松开:ACTON_DOWN -> ACTION_UP
- 点击屏幕后移动再松开:ACTON_DOWN -> ACTION_MOVE -> ... -> ACTION_MOVE -> ACTION_UP
通过MotionEvent我们可以得到点击时间上的x,y坐标系统提供了两组方法:getX/getY
和getRawX/getRawY
,getX/getY返回的是相对于View左上角的x,y坐标,getRawX/getRawY返回的的是相对于手机屏幕左上角的x,y坐标
2.TouchSlop
TouchSlop是系统所能识别出的被认为是滑动的最小距离,这是一个常量和设备有关,在不同的设备上这个值可能是不同的,通过ViewConfiguration.get(getContext).getScaledTouchSlop()
获取这个变量
3.VelocityTracker
速度追踪,用于追踪手指在滑动过程中的速度,包括水平速度和垂直速度
4.GestureDetector
手势检测,用于辅助检测用户的单击、滑动、长按、双击等行为
5.Scroller
弹性滑动对象,用于实现view的弹性滑动
网友评论