Android手势概述

用户对手机的触摸可以延伸出很多的手势,下图为Android中手势图
Android中的手势识别_第1张图片
在Android项目中,如果要自己写Touch事件来开发手势,难度很大,Android提供了手势识别器来 帮助开发者来快发 ,则对于手势的开发变的非常简单。

具体代码实现

如下代码是针对于安卓中的滑动手势开发

GestureDetector mGestureDetector = null;............{............mGestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {/** * 参数1:手放在手机上的第一个点 * 参数2:手滑动后的到达的点  * 参数3:手在手机上X轴上滑动的距离 * 参数4:手在手机上Y轴上滑动的距离 */@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {/* 向左滑动屏幕,>50表示滑动距离超过50有效 */if ((e2.getX() - e1.getX()) > 50) {// TODO 这里写当手势向左边滑动时的代码return true; // 返回true,则将当前的时间消费}if (e1.getX() - e2.getX() > 50) {// TODO 这里写手势向右滑动时的代码return true;}return super.onFling(e1, e2, velocityX, velocityY);}});}

写完以上代码并不是就完事了,我们知道,Android中的触摸事件都在OnTouchEvent()方法中来处理,所以不要忘记下面的代码

/** 如果想让屏幕触摸事件有效,必须重写这个方法 */@Overridepublic boolean onTouchEvent(MotionEvent event) {// 重写后方法后需要在里面添加mGestureDetector.onTouchEvent(event);return super.onTouchEvent(event);}

写到这里,就完成了在屏幕上左右滑动的手势识别代码

##总结:
GestureDetector:Android提供的用户手势识别器,通过TouchEvent来处理用户对Actvity的Touch事件。
SimpleOnGestureListener():传入识别器内部的默认监听器,开发者需要处理那个手势,就重写器相对应的方法,例如,以上的代码为需要处理左右滑动的手势,所以在其内部重写了onFling方法。
MotionEvent: 其内部封装了用户对Activity的点击的点击位置,所以,可以通过getRawX获取点击位置的x坐标,getRawY来获取点击位置的y坐标

更多相关文章

  1. Android离线安装方法
  2. 【Android】注解框架(四)-- 一行代码注入微信支付
  3. 丢失Android系统库或者Conversion to Dalvik format failed with
  4. Android编程简单设置ListView分割线的方法
  5. android通过代码来开启和关闭移动网络
  6. [android][利用JNI技术在Android中调用、调试C++代码]

随机推荐

  1. Android控件开发
  2. Android(安卓)P WindowManager (一) 直观
  3. android中build.gradle文件简单说明
  4. 使用BleLib的轻松搞定Android低功耗蓝牙B
  5. Android(安卓)Studio制作简易计算器源代
  6. Android(安卓)系统服务的两种注册方式
  7. Android软键盘挡住输入框的问题及解决方
  8. 说说在 Android(安卓)中如何实现记住密码
  9. android全屏去掉title栏的多种实现方法
  10. Android(安卓)pm命令详解