[学习总结]2、android中的VelocityTracker(获得速率用的类)
参考资料:http://blog.jrj.com.cn/4586793646,5298605a.html 感谢这位兄弟!
android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率,为up之后做一些效果用的。
1,用obtain()函数来获得类的实例。
2,常用的一些方法:
2.1,使用addMovement(MotionEvent event)函数将当前的移动事件传递给VelocityTracker对象,参数是事件对象。
2.2,使用 computeCurrentVelocity (int units)函数来计算当前的速度 参数units: 你使用的速率单位1的意思是,以一毫秒运动了多少个像素的速率, 1000表示 一秒
时间内运动了多少个像素。 单位是毫秒。
2.3,computeCurrentVelocity(int units, float maxVelocity) 参数1同上,参数maxVelocity: 这个方法能计算出事件的最大速率。如果计算出来的速率大于maxVelocity
则得到的速率就是maxVelocity,小于maxVelocity则为真正计算出来的速率。
例如:CurrentVelocity =CurrentVelocity>maxVelocity?maxVelocity:CurrentVelocity;
2.4,使用 getXVelocity ()、 getYVelocity ()函数来获得当前横向和纵向的速度
3,例子demo:
1 private VelocityTracker mVelocityTracker;//生命变量
2
3 //在onTouchEvent(MotionEvent ev)中
4
5
6 if (mVelocityTracker == null) {
7 mVelocityTracker = VelocityTracker.obtain();//获得VelocityTracker类实例
8 }
9 mVelocityTracker.addMovement(ev);//将事件加入到VelocityTracker类实例中
10
11
12 //判断当ev事件是MotionEvent.ACTION_UP时:计算速率
13 final VelocityTracker velocityTracker = mVelocityTracker;
14 // 1000 provides pixels per second
15 velocityTracker.computeCurrentVelocity(1, (float)0.01); //设置maxVelocity值为0.1时,速率大于0.01时,显示的速率都是0.01,速率小于0.01时,显示正常
16 Log.i("test","velocityTraker"+velocityTracker.getXVelocity());
17
18 velocityTracker.computeCurrentVelocity(1000); //设置units的值为1000,意思为一秒时间内运动了多少个像素
19 Log.i("test","velocityTraker"+velocityTracker.getXVelocity());
[学习总结]2、android中的VelocityTracker(获得速率用的类)的更多相关文章
- Android开发学习之路-Android中使用RxJava
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...
- Android学习四、Android中的Adapter
一.Adapter的介绍 An Adapter object acts as a bridge between an AdapterView and the underlying data for t ...
- 【Android学习入门】Android中activity的启动模式
启动模式简单地说就是Activity启动时的策略,在Androidmanifest.xml文件中的标签android:launchMode属性设置,在Android中Activity共有四种启动模式分 ...
- h5学习-h5嵌入android中
嵌入Android中的h5界面: 将此页面复制到android项目中的assets目录下边: <!DOCTYPE html> <html lang="en"> ...
- Android中查看服务是否开启的工具类
这个也是昨天学习的,做下总结. 检查服务是否开启要写成一个工具类,方便使用,传服务的名字返回Boolean值,当然,由于须要,还要传一个上下文context. 说一下这个工具类的几个关键点: 1.方法 ...
- 如何把android中布局文件(.xml)与相关的类(.java)进行关联?
eg:把一个布局文件名为page1.xml与MainActivity.java(工程自动生成)进行 1.在存放使用资源的res文件夹下的layout文件夹内新建一个XML布局文件,如命名为:page1 ...
- Android中关闭DatePicker和NumberPicker等Picker类的可编辑模式
DatePicker.TimePicker.NumberPicker等控件在由于默认是可编辑的,所以会经常跳出键盘.要屏蔽这些编辑模式只需要如下代码: picker.setDescendantFocu ...
- 我的Android进阶之旅------>Android中MediaButtonReceiver广播监听器的机制分析
今天看公司的一段关于MediaButtonReceiver的代码看的比较混乱,幸好看了下面的这篇文章,才能茅塞顿开的理解好代码.在此转载下来,以备以后理解,希望都到这篇文章的人也能够有所帮助. 本文转 ...
- Android中插件开发篇之----类加载器
关于插件,已经在各大平台上出现过很多,eclipse插件.chrome插件.3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主 ...
随机推荐
- python微服务
https://realpython.com/python-microservices-grpc/ https://github.com/saqibbutt/python-flask-microser ...
- Mysql - 整数类型的存储字节数和范围
MySQL 整数类型的存储字节数和范围 type 存储字节数 有符号最小值 无符号最小值 有符号最大值 无符号最大值 TINYINT 1 -128 0 127 255 SMALLINT 2 -3276 ...
- 菜鸟Markdown笔记,看这个就够了
菜鸟markdown语法笔记 1.标题 写法:共六级标题,一个#是一级标题,两个#是二级标题,三个#是三级标题······以此类推 (#)+空格键,快捷方式是Ctrl+1/2/3/4/5/6 2.段落 ...
- Effective C++ 总结笔记(四)
五.实现 26.尽可能延后变量定义式的出现时间 尽可能延后变量定义式的出现,甚至应该尝试延后这份定义直到能够给他初值实参为止,这样不仅能避免构造和析构非必要对象,避免无意义的default行为,也可增 ...
- Python 爬取 煎蛋
这个我是拿来参考的 import requests def url_open(url): response = requests.get(url) html = response.content re ...
- 物联网3D,物业基础设施3D运维,使用webgl(three.js)与物联网设备结合案例。搭建智慧楼宇,智慧园区,3D园区、3D物业设施,3D楼宇管理系统——第八课
写在前面的废话: 很久没有更新文章了,这段时间一直忙于项目落地,虽然很忙,但是感觉没有总结,没有提炼的日子,总是让人感觉飘飘忽忽的. 所幸放下一些事,抽出一些时间,把近期的项目做一些整理与记录.也算是 ...
- OWASP-Top5-(Security Misconfiguration 安全配置错误)
概述 从上一版的第 6 位开始,90% 的应用程序都经过了某种形式的错误配置测试.随着更多转向高度可配置的软件,看到这一类别上升也就不足为奇了.值得注意的CWE包括CWE-16 Configurati ...
- [luogu5361]热闹的聚会与尴尬的聚会
由于两者是独立的,我们希望两者的$p$和$q$都最大 考虑最大的$p$,先全部邀请,此时要增大$p$显然必须要删去当前度数最小的点,不断删除之后将每一次度数最小值对答案取max即可 对于$q$也即最大 ...
- SSM整合小项目
1.文件目录结构 2.MyBatis配置 创建数据库环境 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books ...
- 树形DP详解+题目
关于树形dp 我觉得他和线性dp差不多 总结 最近写了好多树形dp+树形结构的题目,这些题目变化多样能与多种算法结合,但还是有好多规律可以找的. 先说总的规律吧! 一般来说树形dp在设状态转移方程时都 ...