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


相关推荐

  • Laravel 5框架Mutator,Scope

    Laravel 5框架Mutator,Scope首先修改控制器:publicfunctionstore(){Article::create(Request::all());returnredirect(‘articles’);}然后修改视图,添…

    2022年9月12日
    0
  • Jlink或者stlink用于SWD接口下载程序

    Jlink或者stlink用于SWD接口下载程序最近要使用stm32f103c8t6最小系统板,直接ISP串口下载程序太麻烦,就想着使用swd接口来调试。结果:通过SWD接口下载程序成功,但调试失败,还不知原因,会的的人麻烦交流一下。SWD接口:3.3VDIO(数据)CLK(时钟)GND1.首先声明jlink和stlink都有jtag和swd调试功能。jlink接口如下:如图,我使用的就是VCC…

    2022年4月25日
    50
  • python中sqrt函数用法_Python : sqrt() 函数

    python中sqrt函数用法_Python : sqrt() 函数开平方函数sqrt()返回x的平方根(x>0)语法:importmathmath.sqrt(x)注意:此函数不可直接访问,需要导入math模块,然后需要使用math静态对象调用此函数。参数x—数值表达式返回结果是浮点数。importmath#Thiswillimportmathmoduleprint”math.sqrt(100):”,math.s…

    2022年6月2日
    63
  • Solr之配置DataImport

    1、拷贝将/opt/solr/solr-7.3.1下的dist和contrib目录拷贝到/opt/solr/solrhome目录下.2、相关jar包拷贝solr-dataimporthandler-7.3.1.jar和solr-dataimporthandler-extras-7.3.1.jar包拷贝到/opt/tomcat/apache-tomcat-8.5.31/webapps/s…

    2022年4月13日
    44
  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

    2022年8月9日
    3
  • maven install 出现 not found: G:\jdk\..\lib\tools.jar -> [Help 1] 等问题「建议收藏」

    maven install 出现 not found: G:\jdk\..\lib\tools.jar -> [Help 1] 等问题「建议收藏」maven install 出现 not found: G:\jdk\..\lib\tools.jar -> [Help 1] 等问题

    2022年4月23日
    34

发表回复

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

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