Android中的手势识别
来源:互联网 发布:安卓网络嗅探器怎么用 编辑:程序博客网 时间:2024/04/29 23:37
Android手势概述
用户对手机的触摸可以延伸出很多的手势,下图为Android中手势图
在Android项目中,如果要自己写Touch事件来开发手势,难度很大,Android提供了手势识别器来 帮助开发者来快发 ,则对于手势的开发变的非常简单。
具体代码实现
如下代码是针对于安卓中的滑动手势开发
GestureDetector mGestureDetector = null;............{ ...... ...... mGestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() { /** * 参数1:手放在手机上的第一个点 * 参数2:手滑动后的到达的点 * 参数3:手在手机上X轴上滑动的距离 * 参数4:手在手机上Y轴上滑动的距离 */ @Override public 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()方法中来处理,所以不要忘记下面的代码
/** 如果想让屏幕触摸事件有效,必须重写这个方法 */ @Override public 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 0
- Android中的手势识别
- Android中的手势识别
- Android中的手势识别
- Android触摸屏中的手势识别
- Android触摸屏中的手势识别
- android中的手势识别工具类
- Android中的手势识别器GestureDetector
- Android-自定义手势识别-复杂手势识别
- Android+手势识别详解
- android手势Gesture识别
- android之手势识别
- Android 多点手势识别
- Android触摸屏手势识别
- android基础--手势识别
- android手势识别实例
- Android GestureDetector手势识别
- Android 多点手势识别
- Android 手势识别
- Ranges
- 海量数据查找一个数是否存在
- 2016.10.5初中部上午NOIP普及组比赛总结
- Google最新VR(sdk的诞生)
- 红黑树
- Android中的手势识别
- HDU3727 Jewel (主席树)
- 带修改的主席树
- 程序员笔记 To Be A Programmer
- 贪心法,贪心策略
- c#枚举简介
- Mac下安装caffe(cpu-only)
- QPen类
- 关于ExpandableListView用法的一个简单小例子