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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10电脑设置提醒任务_win10添加计划任务

    win10电脑设置提醒任务_win10添加计划任务博主公司周报漏交一次要缴纳50RMB部门经费,另外博主每天上午下午都需要活动10分钟(好像放风。。),防止职业病+让自己的工作状态更好。步骤:1、打开Win10控制面板—>点选管理工

    2022年8月2日
    7
  • ExtJs_FileUpLoad的那些花样作死法

    ExtJs_FileUpLoad的那些花样作死法

    2021年9月3日
    48
  • oracle错误904解决方法_遇到Oracle错误4063

    oracle错误904解决方法_遇到Oracle错误4063案例情景——在一次Oracle数据库导出时:C:\DocumentsandSettings\Administrator>explsxy/lsxy@lsxy_dbfile=E:\lsxy.dmpowner=lsxyExport:Release11.2.0.1.0-Productionon星期一11月2614:07:182012Copyright(c)1982,…

    2022年9月20日
    0
  • Java中IO流-21-图片加密简单实现

    Java中IO流-21-图片加密简单实现     这篇我们利用流来处理图片加密,当然这里没有处理到打开图片,提示输入密码的这么好友好效果。图片加密,也是把一个图片字节读取,然后进行加密运算,最后拷贝成新的图片文件。简单来说,这个过程原理就是,一个数如何被同一个数异或两次,那么结果就等于这个数本身。第一次进行异或就是图片加密过程,给图片每一个字节都进行加密,第二次异或就是解密过程。1.图片加密过程packageio;im…

    2022年6月21日
    37
  • python flask debug_pycharm配置debug

    python flask debug_pycharm配置debugflask项目如果在开发的时候不打开Debug模式的话,我们想要看项目中的报错信息就只能去控制台查看,会比较麻烦,而且如果不开启debug模式,我们每一次调整代码都需要将服务器重新启动,是非常麻烦的一件事,所以我们最好是将debug模式打开但是我在pycharm中使用代码开启debug模式总是打不开。使用代码打开debug模式的教程可以参考孟船长Flask第五篇—-设置debug模式的这…

    2022年8月25日
    8
  • Apache Struts2再爆高危漏洞

    Apache Struts2再爆高危漏洞60网站安全检测最新struts2命令执行漏洞分析时间:2013-07-1809:46 在struts2中,DefaultActionMapper类支持以”action:”、”redirect:”、”redirectAction:”作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,

    2022年7月13日
    10

发表回复

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

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