View(3) - 手势

一、种类(常用的4种)

1.OnGestureListener  标准手势

2.OnDoubleTapListener 双击

3.SimpleOnGestureListener 单击

4.ScaleGestureDetector 简单的缩放,没有拖动 (类,用于继承)

 

二、使用方法

1.Activity或者View implements GestureDetector.OnGestureListener

2.把onTouchEvent托管给GestureDetector

 

三、详情

1.OnGestureListener

OnDown(MotionEvent e):按下屏幕就会触发;

onShowPress(MotionEvent e):按下的时间超过瞬间就会触发

onLongPress(MotionEvent e):屏幕长按触摸屏,超过一定时长触发

 

触发顺序:

onDown->onShowPress->onLongPress

onSingleTapUp(MotionEvent e):一次单独的轻击抬起操作,也就是轻击一下

 

触发顺序:

点击一下非常快的(不滑动)Touchup:

onDown->onSingleTapUp->onSingleTapConfirmed

点击一下稍微慢点的(不滑动)Touchup:

onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

 

onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY):在屏幕上拖动事件。无论是用手拖动view,或者是以抛的动作滚动,都会多次触发,这个方法       在ACTION_MOVE动作发生时就会触发

滑屏:手指触动屏幕后,稍微滑动后立即松开

onDown-----》onScroll----》onScroll----》onScroll----》………----->onFling

拖动

onDown------》onScroll----》onScroll------》onFiling

可见,无论是滑屏,还是拖动,影响的只是中间OnScroll触发的数量多少而已,最终都会触发onFling事件!

 

onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) :滑屏,用户按下触摸屏、快速移动后松开,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE, 1个ACTION_UP触发   

参数解释:

e1:第1个ACTION_DOWN MotionEvent

e2:最后一个ACTION_MOVE MotionEvent

velocityX:X轴上的移动速度,像素/秒

velocityY:Y轴上的移动速度,像素/秒   

 

2.OnDoubleTapListener

onSingleTapConfirmed(MotionEvent e):单击事件

onDoubleTap(MotionEvent e):双击事件

onDoubleTapEvent(MotionEvent e):双击间隔中发生的动作。指触发onDoubleTap以后,在双击之间发生的其它动作,包含down、up和move事件 其中 0指ACTION_DOWN,1指ACTION_UP,2 指ACTION_MOVE

 

3.SimpleOnGestureListener是一个类,在它基础上新建类的话,要用extends派生而不是用implements继承.此类已经实现了这两个接口的所有函数,只是里面全是空的而已。(省去继承接口很多废代码)

 

参考:https://blog.csdn.net/harvic880925/article/details/39520901

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值