VelocityTracker简单介绍

VelocityTracker简单介绍

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

參照自: 
http://blog.jrj.com.cn/4586793646,5298605a.html 



android.view.VelocityTracker
主要用跟踪触摸屏事件(flinging事件和其它gestures手势事件)的速率。用
addMovement(MotionEvent)
函数将Motion event添�到VelocityTracker类实例中.你能够使用
getXVelocity() 

getXVelocity()
获得横向和竖向的速率到速率时,可是使用它们之前请先调用
computeCurrentVelocity
(int)
来初始化速率的单位 。
主要函数
Public Methods

void

addMovement(
MotionEvent event)

Add a user’s movement to the tracker.

void

clear()

Reset the velocity tracker back to its initial state.

void

computeCurrentVelocity(int units, float maxVelocity)

Compute the current velocity based on the points that have been collected.
int 
unitis表示速率的基本时间单位。unitis值为
1的表示是,一毫秒时间单位内运动了多少个像素, unitis值为
1000表示一秒(1000毫秒)时间单位内运动了多少个像素
float
Velocity表示速率的最大值

void

computeCurrentVelocity(int units)

Equivalent to invoking 
computeCurrentVelocity(int, float) with a maximum velocity of Float.MAX_VALUE.

abstract T

getNextPoolable()

float

getXVelocity()

Retrieve the last computed X velocity.

float

getXVelocity(int id)

Retrieve the last computed X velocity.

float

getYVelocity(int id)

Retrieve the last computed Y velocity.

float

getYVelocity()

Retrieve the last computed Y velocity.

abstract boolean

isPooled()

static 
VelocityTracker

obtain()

Retrieve a new VelocityTracker object to watch the velocity of a motion.

void

recycle()

Return a VelocityTracker object back to be re-used by others.

abstract void

setNextPoolable(T element)

abstract void

setPooled(boolean isPooled)
演示样例: 
    private VelocityTracker mVelocityTracker;//生命变量 
    //在onTouchEvent(MotionEvent ev)中 
    if (mVelocityTracker == null) { 
          
  mVelocityTracker = VelocityTracker.
obtain
()
;//获得VelocityTracker类实例 
    } 
    
mVelocityTracker.
addMovement
(ev);
//将事件添�到VelocityTracker类实例中 
    
//推断当ev事件是MotionEvent.ACTION_UP时:计算速率 
    final VelocityTracker velocityTracker = mVelocityTracker; 
   
 // 1000 provides pixels per second 
   
 velocityTracker.computeCurrentVelocity(1, (float)0.01)
;
 //设置maxVelocity值为0.1时,速率大于0.01时,显示的速率都是0.01,速率小于0.01时,显示正常 
    Log.i(“test”,”velocityTraker”+velocityTracker.getXVelocity());                     
    velocityTracker.computeCurrentVelocity(1000); 
//设置units的值为1000,意思为一秒时间内运动了多少个像素 
    Log.i(“test”,”velocityTraker”+velocityTracker.getXVelocity()); 
大体的使用是这种:
当你须要跟踪触摸屏事件的速度的时候,使用
obtain()
方法来获得
VelocityTracker
类的一个实例对象

onTouchEvent
回调函数中,使用
addMovement(MotionEvent)
函数将当前的移动事件传递给
VelocityTracker
对象
使用
computeCurrentVelocity  (int units)
函数来计算当前的速度,使用
 getXVelocity  ()
、 
getYVelocity  ()
函数来获得当前的速度


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118242.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 此工作站和主域间的信任关系失败原因_主域间的信任关系失败

    此工作站和主域间的信任关系失败原因_主域间的信任关系失败相信用域管理的童鞋都会遇到一个问题:在域账户登录的时候有时会出现“此工作站和主域间信任关系失败”那么遇到这种情况该如何解决的呢?跟我走:拔掉网线,登录系统在用户账户中把administrator账户打开,并设密码插上网线,退域,重启,用administrator账户登录重新加域,刷新策略即可 转载于:https://blog.51cto.com/xkai20/158…

    2022年10月19日
    3
  • Python究竟是什么?能干嘛?

    Python究竟是什么?能干嘛?#前言最近这段时间跟很多同学沟通以后发现很多人虽然来学习Python,大家只是抱着好奇的心来看看,对于编程,计算,Python这些没有一些基础的概念。思前想后,写下这篇博文,希望能够帮助到各位同学。

    2022年7月3日
    28
  • log4cpp学习

    log4cpp学习1、linux下log4cpp的下载安装配置http://log4cpp.sourceforge.net/官方网站有下载地址,安装过程配置选项及测试用例。将下载好的tar包解压到/usr/local/下运行./configure(如有需要添加相关配置选项),使用make编译,使用makecheck进行检测,使用makeinstall安装,使用之前的相关命令安装好之后在/usr

    2022年7月13日
    16
  • SSM项目部署到阿里云服务器。只需要五个步骤。

    SSM项目部署到阿里云服务器。只需要五个步骤。最近在看很多ssm项目部署到阿里云的教程:踩了很多坑,所以希望大家部署时候有所借鉴吧。有什么不懂可以联系qq交流:980631161.主要分为五个步骤:1.购买服务器2下载xshell和Xftp63.在服务器上安装jdk,mysql,tomcat。4.数据库准备数据5.maven项目生成war文件。1.购买服务器在阿里云购买一个ESC服务器网址是:https://www….

    2022年6月20日
    56
  • 数据库6「建议收藏」

    数据库6「建议收藏」https://www.cnblogs.com/zhanht/p/5450559.html本文主要介绍MySQL中关于索引的一些问题,例如:索引的作用;怎么创建索引;设计索引的原则;怎么优化索引等

    2022年7月4日
    25
  • docker(7)docker-compose容器集群编排「建议收藏」

    docker(7)docker-compose容器集群编排「建议收藏」前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年7月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号