GestureDetector手势识别类.doc_第1页
GestureDetector手势识别类.doc_第2页
GestureDetector手势识别类.doc_第3页
GestureDetector手势识别类.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对于Android设备来说最主要的操作方式为触控,作为一个Android开发者来说深入了解 GestureDetector 手势识别是很有必要的,Android123今天主要介绍下该类相关的方法,以及简单的手势识别。 通常我们构造GestureDetector类时设置一个GestureDetector.OnGestureListener对象来实时监控用户的操作,OnGestureListener对象提供一些常见手势的重写方法。 Override public boolean onDown(MotionEvent e) /按下事件 return true; Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) /快速滚动 return true; Override public void onLongPress(MotionEvent e) /长按 Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) /常规滚动 return true; Override public void onShowPress(MotionEvent e) /Android开发网提示为了产生理解异议,SDK原文为 The user has performed a down MotionEvent and not performed a move or up yet. This event is commonly used to provide visual feedback to the user to let them know that their action has been recognized i.e. highlight an element Override public boolean onSingleTapUp(MotionEvent e) /一次按下弹起 return true; 首先上次Android123写的较为简单,如果网友不太明白可以看看更具体些的内容: boolean onDoubleTap(MotionEvent e)解释:双击的第二下Touch down时触发boolean onDoubleTapEvent(MotionEvent e)解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。boolean onDown(MotionEvent e)解释:Touch down时触发boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)解释:Touch了滑动一点距离后,up时触发。void onLongPress(MotionEvent e)解释:Touch了不移动一直Touch down时触发boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)解释:Touch了滑动时触发。void onShowPress(MotionEvent e)解释:Touch了还没有滑动时触发(与onDown,onLongPress比较onDown只要Touch down一定立刻触发。而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。所以Touchdown后一直不滑动,onDown-onShowPress-onLongPress这个顺序触发。boolean onSingleTapConfirmed(MotionEvent e)boolean onSingleTapUp(MotionEvent e)解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。点击一下非常快的(不滑动)Touchup:onDown-onSingleTapUp-onSingleTapConfirmed点击一下稍微慢点的(不滑动)Touchup:onDown-onShowPress-onSingleTapUp-onSingleTapConfirmed有了这么多的响应方式,我们能更加方便的对用户的触摸操作进行响应,对各种动作都有所对应。那么这个类如何使用呢,其实非常简单,在view的新建一个GestureDetector的对象。构造函数里gestureDetector = new GestureDetector(new SelfGestureDetectorListener();然后在View的onTouchEvent里以下这样用,就可以在gestureDetector的事件里写自己的代码了。Overridepublic boolean onTouchEvent(MotionEvent event) gestureDetector.onTouchEvent(event); 有关上面的 onTouchEvent方法,我们可以直接判断MotionEvent的类型,对于手势移动仅仅捕获ACTION_MOVE即可,我们通过参数MotionEvent e1, MotionEvent e2,float distanceX, float distanceY可以获取操作变化。 比如 dista

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论