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)
上一篇 2021年12月8日 下午11:00
下一篇 2021年12月9日 上午6:00


相关推荐

  • pycharm安装教程和使用_vmware安装教程

    pycharm安装教程和使用_vmware安装教程一:pycharm的介绍PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。二:pycharm的下载安装1…在python的官网下载python对应版本:http:/…

    2022年8月26日
    6
  • BLEU计算

    BLEU计算BLEU 就是用来衡量机器翻译文本与参考文本之间的相似程度的指标 取值范围在 0 1 取值越靠近 1 表示机器翻译结果越好 最初的 BLEU 最初的 BLEU 计算特别简单 通常的讲 当我们自己计算两个文本之间的相似程度的时候 我们会考虑单词的频率 最早的 BLEU 就是采用了这种思想 计算方法是 使用一个累加器表示 candidate 中的词在 referencedoc 中出现的次数 从 can

    2025年12月14日
    8
  • git学习—git log 和git diff

    大概整理一下,供自查看 gitdiff和 git log 对比两个分支差异

    2022年2月25日
    53
  • tf.estimator.Estimator讲解

    tf.estimator.Estimator讲解tf estimator Estimator 简单介绍是一个 class 所以需要初始化 作用是用来训练和评价 tensorflow 模型的 Estimator 对象包装由一个名为 model fn 函数指定的模型 model fn 在给定输入和许多其他参数的情况下 返回执行训练 评估或预测所需的操作 所有输出 checkpoints eventfiles etc 等 都写入 model dir 或其

    2026年3月19日
    2
  • 【金融市场基础知识】——金融市场体系

    【金融市场基础知识】——金融市场体系阅读之前看这里????:博主是一名正在学习证券知识的学生,在每个领域我们都应当是学生的心态,也不应该拥有身份标签来限制自己学习的范围,所以博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。由于自己的学习兴趣,所以决定学习证券从业的知识,也继续写博客来进行总结和归纳。目录金融市场体系一、金融市场概述1、金融市场的概念和

    2022年5月28日
    36
  • 第二重要极限公式推导过程_我们来更自然地推导泰勒公式!

    第二重要极限公式推导过程_我们来更自然地推导泰勒公式!泰勒公式虽然形式不算复杂 但来路比较诡异 几乎所有的教材都是直接给出这个公式 然后再进行相应的结论证明 显得过于突兀 也不便于理解 本文尝试给出一种由基本的导数公式和极限定理推导泰勒公式的方法 希望能对读者诸君有所帮助 一 从一阶泰勒公式说起我们首先从一阶导数着手 假设在有一阶导数 那么根据定义 就有现在回顾一下关于函数极限的一个结论 其中 是该极限过程下的某个无穷小 即利用这

    2026年3月18日
    2

发表回复

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

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