首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

【Android每周课题】触摸屏手势

2013-10-08 
【Android每周专题】触摸屏手势本系列文章均为A2BGeek原创,转载务必在明显处注明:转载自A2BGeek的【Android每

【Android每周专题】触摸屏手势

本系列文章均为A2BGeek原创,转载务必在明显处注明:
转载自A2BGeek的【Android每周专题】系列,原文链接:http://blog.csdn.net/benbmw2008/article/details/11367631

这篇专题来研究一下Android的触摸屏手势Gesture,Android的手势有两种,一种是View和Activity的(基于触摸屏事件,所以Activity也能添加手势),一种是手写输入法或者一些手机浏览器的快捷手势那样的带笔迹的手势识别。这一点从API文档中就能体现出来:分别有android.view.GestureDetector和android.gesture.Gesture。

【Android每周课题】触摸屏手势

我们先来介绍View和Activity的手势,再介绍输入法手势识别。

View和Activity的手势这一部分想必大家都已经非常熟悉了,现在很多APP都会加入手势来提高交互体验,其中在某个界面向右Fling关闭该界面这一操作貌似成了APP的标配了。废话不多说了,直接进入正题。为View和Activity加入手势操作的步骤如下:1、为View或者Activity实现OnGestureListener接口。2、覆写View或者Activity的OnTouchEvent方法,这里要返回GestureDetector.onTouchEvent()。3、覆写你需要的手势的回调方法。这里解释一下各种回调方法的含义:按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下。
抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作。
长按(onLongPress): 手指按在持续一段时间,并且没有松开。
滚动(onScroll): 手指在触摸屏上滑动。
按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。
抬起(onSingleTapUp):手指离开触摸屏的那一刹那。
除了这些定义之外,鄙人也总结了一点算是经验的经验吧,在这里和大家分享一下。
任何手势动作都会先执行一次按下(onDown)动作。
长按(onLongPress)动作前一定会执行一次按住(onShowPress)动作。
按住(onShowPress)动作和按下(onDown)动作之后都会执行一次抬起(onSingleTapUp)动作。
长按(onLongPress)、滚动(onScroll)和抛掷(onFling)动作之后都不会执行抬起(onSingleTapUp)动作。
我这里贴上一段代码,大家可以看一下实现的步骤,实验代码和触摸屏事件专题的代码差不多,我就不重复上传了。

其实可以想像gestures手势文件中就是一个一个的键值对。二、把gestures文件放入工程的res/raw目录下,有关raw和assets的区别,请移步http://blog.csdn.net/benbmw2008/article/details/8754373。布局文件如下:

好了,今天的内容就到这里了,第一周更新了两篇专题,是个良好的开始,嗯嗯,加油。
实验代码点击下载

热点排行