您的位置:首页 > 移动开发 > Android开发

用户检测手势Gesture implements android.view.GestureDetector.OnGestureListener

2016-04-19 17:15 459 查看
如果我们写一个类并实现OnGestureListener接口,会要重写6个函数:如下
1、onDown(MotionEvent e):用户按下屏幕就会触发
2、onShowPress(MotionEvent e):如果是按下的时间超过瞬间,而且在按下的时候没有松开或者是拖动的,那么onShowPress就会执行。
3、onLongPress(MotionEvent e):长按触摸屏,超过一定的时长,就会触发这个事件。
触发顺序:onDown->onShowPress->onLongPress

4、onSingleTapUp(MotionEvent e):轻击一下屏幕,立刻抬起来,才会触发这个事件
触发顺序:点击一下非常快的(不滑动)Touchup:
onDown->onSingleTapUp->onSingleTapConfirmed
点击一下稍微慢点的(不滑动)Touchup
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

5、onFling(MotionEvent e1,MotionEvente2,float velocity X,float velocity
Y):滑屏,用户按下触摸屏,快速移动后松开,由1个MotionEvent
ACTION_DOWN,多个ACTION_MOVE,1个ACTION_UP触发。
参数解释:
e1:第1个ACTION_DOWN
MotionEvent
e2:最后一个ACTION_MOVE MotionEvent
Velocity X:X轴上的移动速度,像素/秒
Velocity Y:Y轴上的移动速度,像素/秒

6、onScroll(MotionEvent e1,MotionEvente2,float distanceX,float distanceY):在屏幕上拖动事件无论是用手拖动View,或者是以抛的动作滚动,都会多次触发这个方法。
在ACTION_MOVE动作发生时就会触发滑屏:
手指触动屏幕后,稍微滑动后立即松开
onDown->onScroll->onScroll->onScroll->….->onFiling
拖动
onDown-->onScroll-->onScroll-->onFiling
可见,无论是滑屏还是拖动,影响的只是中间的onScroll触发的数量多少而已。最终都会触发onFiling事件!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: