Gestures(手势)

  • Android提供手势检测,并为手势识别提供了相应的监听器!
  • Android运行开发者自行添加手势,并且提供了相应的API识别用户手势!

Android中手势交互的执行顺序
- 1.手指触碰屏幕时,触发MotionEvent事件!
- 2.该事件被OnTouchListener监听,可在它的onTouch()方法中获得该MotionEvent对象!
- 3.通过GestureDetector转发MotionEvent对象给OnGestureListener
- 4.我们可以通过OnGestureListener获得该对象,然后获取相关信息,以及做相关处理!

GestureListener 他给我们提供了下述的回调方法:
- 按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下。
- 抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作。
- 长按(onLongPress): 手指按在持续一段时间,并且没有松开。
- 滚动(onScroll): 手指在触摸屏上滑动。
- 按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。
- 抬起(onSingleTapUp):手指离开触摸屏的那一刹那。

注:我们实现OnGestureListener需要实现所有的手势,可能我针对的仅仅是滑动,但是你还是要去重载, 这很不科学,其实官方另外给我们提供了一个SimpleOnGestureListener类,只需把上述的OnGestureListener替换成SimpleOnGestureListener即可!

手势添加与识别:
除了上面讲解的手势检测外,Android还运行我们将手势进行添加,然后提供了相关的识别API; Android中使用GestureLibrary来代表手势库,提供了GestureLibraries工具类来创建手势库!

四个加载手势库的静态方法:
这里写图片描述

获得GestureLibrary对象后,就可以使用该对象提供的下述方法来做相应操作了:
- public void addGesture (String entryName, Gesture gesture):添加一个名为entryName的手势
- public Set getGestureEntries ():获得手势库中所有手势的名称
- public ArrayList getGestures (String entryName):获得entryName名称对应的全部手势
- public ArrayList recognize (Gesture gesture): 从当前手势库中识别与gesture匹配的全部手势
- public void removeEntry (String entryName):删除手势库中entryName名称对应的手势
- public void removeGesture (String entryName, Gesture gesture):删除手势库中entryName和gesture都匹配的手势
- public abstract boolean save ():想手势库中添加手势或从中删除手势后调用该方法保存手势库

GestureOverlayView手势编辑组件
Android为GestureOverlayView提供了三种监听器接口,如下,一般常用的是:OnGesturePerformedListener;用于手势完成时提供响应!
**这里写图片描述**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值