用户检测手势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事件!
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事件!
相关文章推荐
- Android activity组件
- android ImageView亮度变化
- Android中的Serialable和Parcelable的区别
- Android 驱动开发系列四
- Android adb 命令
- [Android]嵌套Fragment以及startActivityForResult()
- Android应用中炫酷的横向和环形进度条的实例分享
- Android NavigationBar 显示 Menu 按键
- Android EditText用法及焦点处理总结
- android文件操作
- Android广播BroadcastReceiver
- android中WeekCalendar控件
- Android-Spinner下拉列表显示
- android基础学习之back键的监听和回到主页面
- Android自定义属性时typedArray的使用方法
- android studio插件
- android 打开各种文件(setDataAndType)
- Android酷炫开源框架
- android 怎么获得星期几?
- Android官方开发文档Training系列课程中文版:调用相机之简单拍照