Android中的手势
Android对两种手势行为提供了支持:
1、对于第一种手势行为而言,Android提供了手势检测,并为手势检测提供了相应的监听器。
2、对于第二种手势行为,Android允许开发者添加手势,并提供了相应的API识别用户手势。
GestureDetector.OnGestureListener就是一个监听器、负责对用户的手势行为提供相应。
boolean onDown(MotionEvent e):当触碰事件按下时触发该方法。
boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY):当用户在触摸屏上"拖过"时触发该方法。其中velocityX、velocityY代表"拖过"动作在横向、纵向上的速度。
abstract void onLongPress(MotionEvent e):当用户在屏幕上长按时触发该方法。
boolean onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY):当用户在屏幕上“滚动”时触发该方法。
void onShowPress(MotionEvent e):当用户在触摸屏上按下、而且还未移动和松开时触发该方法。
boolean onSingleTapUp(MotionEvent e):用户在触摸屏上的轻击事件将会触发该方法。
使用Android的手势检测只需以下两个步骤:
1、创建一个GestureDetector对象。创建该对象时必须实现一个GestureDetector.OnGestureListener监听器实例。
2、为应用程序的Activity(偶尔也可为特定组件)的TouchEvent事件绑定监听器,在事件处理中指定把Activity(或特定组件)上的TouchEvnet事件交给GestureDetector处理。
Android使用GestureLibrary来代表手势库,并提供了GestureLibraries工具类来创建手势库,GestureLibraries提供了如下4个静态方法从不同位置加载手势库。
1、static GestureLibrary fromFile(String path):从path代表的文件中加载手势库。
2、static GestureLibrary fromFile(File path):从path代表的文件中加载手势库。
3、static GestureLibrary fromPrivateFile(Context context,String name):从指定应用程序的数据文件夹中name文件中加载手势库。
4、static GestureLibrary fromRawResource(Context context,int resourceld):从resourceld所代表的资源中加载手势库。
一旦在程序中获得了GestureLibrary对象之后,该对象提供了如下方法来添加手势、识别手势。
1、void addGesture(String entryName,Gesture gesture):添加一个名为entryName的手势。
2、set<String> getGestureEntries():获取该手势库中的所有手势的名称。
3、ArrayList<Gesture> getGestures(String entryName):获取entryName名称对应的全部手势。
4、ArrayList<Prediction> recognize(Gesture gesture):从当前手势库中识别与gesture匹配的全部手势。
5、void removeEntry(String entryName):删除手势库中entryName对应的手势。
6、void removeGesture(String entryName,Gesture gesture):删除手势库中entryName、gesture对应的手势。
7、boolean save():当向手势库中添加手势或从中删除手势后调用该方法保存手势库。
Android中的手势的更多相关文章
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- Android上滑手势触发和不增加布局层级扩大点击区域
最近项目中需要实现手势上滑或者点击滑出界面的效果,实现上是利用GestureDetector,然后在onFling中判断,但遇到一个问题:手势上滑是针对整个布局的,但如果有对单独的View设置点击监听 ...
- Android中的Touch事件
Android中的Touch事件处理 主要内容 Activity或View类的onTouchEvent()回调函数会接收到touch事件. 一个完整的手势是从ACTION_DOWN开始,到ACTION ...
- Android中图像变换Matrix的原理、代码验证和应用(三)
第三部分 应用 在这一部分,我们会将前面两部分所了解到的内容和Android手势结合起来,利用各种不同的手势对图像进行平移.缩放和旋转,前面两项都是在实践中经常需要用到的功能,后一项据说苹果也是最近才 ...
- Android基本功:手势
一.概念 手势:其实是指用户手指或触摸笔在屏幕上的连续触碰行为,Andoird对两种手势行为都提供了支持: Andorid提供了手势检测,并为手势检测提供了相应的监听器: Android允许开发者添加 ...
- Android开发之手势滑动(滑动手势监听)详解
Android开发之手势滑动(滑动手势监听)详解 在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListen ...
- [转] 「指尖上的魔法」 - 谈谈 React Native 中的手势
http://gold.xitu.io/entry/55fa202960b28497519db23f React-Native是一款由Facebook开发并开源的框架,主要卖点是使用JavaScrip ...
- Android之触摸手势检测GestureDetector使用详解
在Android中,当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing,onSingleTapConfirmed(单击),onDoubleTap(双击)等等. 一般情 ...
- Android中可以做的两件坏事——破解锁屏密码和获取Wifi密码
来源:http://blog.csdn.net/jiangwei0910410003/article/details/41800409 今天咋们来看一下我在现实中遇到的两个问题和解决方案 问题一:忘记 ...
随机推荐
- linux关于readlink函数获取运行路径的小程序
http://blog.csdn.net/djzhao/article/details/8178375 相关函数: stat, lstat, symlink表头文件: #include <u ...
- localStorage存储JSON对象的小方法
有时候,我们需要将数据存储到sessionStorage和localStorage中,这样做的好处有: 1 缓存数据 2 减少对内存的占用 但是,storage只能存储字符串的数据,对于JS中常用的数 ...
- hadoop1.X安装
1. 配置主机的名称 master,slave1,slave2 2. 安装JDK: 3. 配置IP与主机名称的映射: 192.168.0.100 master 192.1 ...
- java web mvc思想介绍
1.首先简介一下什么是MVC思想. 在百度百科里面对MVC的说明,MVC全名是Model View Controller.是模型(model)-视图(view)-控制器(controller)的缩写. ...
- Java – 4 Security Vulnerabilities Related Coding Practices to Avoid---reference
This article represents top 4 security vulnerabilities related coding practice to avoid while you ar ...
- Java Numeric Formatting--reference
I can think of numerous times when I have seen others write unnecessary Java code and I have written ...
- [转] gdb 查看vector, list, map 内容
转:http://blog.chinaunix.net/uid-13982689-id-34282.html先下载gdb_stl_utils.tar.gz, extract it, and run m ...
- Activity内部Handler引起内存泄露的原因分析
有时在Activity中使用Handler时会提示一个内存泄漏的警告,代码通常如下: public class MainActivity extends Activity { private Text ...
- 二叉排序树BST代码(JAVA)
publicclassTest{ publicstaticvoid main(String[] args){ int[] r =newint[]{5,1,3,4,6,7 ...
- (转徐明吉)C#生成随机数
private static char[] constant = { ', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p ...