VelocityTracker顾名思义即速度跟踪
使用步骤:
1.创建VelocityTracker对象
VelocityTracker velocityTracker = VelocityTracker.obtain();

2.在OnTouchListener方法中,添加Movement
velocityTracker.addMovement(event);

3.设置单位
velocityTracker.computeCurrentVelocity(1000); //这里传入1000 表示1000px/s

4.通过以上三个步骤,就可以获取到当前x方向的速度和y方向的速度
float velocityX = velocity.getXVelocity();
float velocityY = velocity.getYVelocity();

5.使用完以后,记得recycle
velocity.recycle();

简单使用示例:

class VelocityTrackerActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_velocity_tracker)var velocityTracker :VelocityTracker ? = nulltv_1.setOnTouchListener(object: View.OnTouchListener{override fun onTouch(v: View?, event: MotionEvent?): Boolean {LogUtil.i(""+event!!.action)if(null == velocityTracker){velocityTracker = VelocityTracker.obtain()}velocityTracker!!.addMovement(event)velocityTracker!!.computeCurrentVelocity(1000)when(event!!.action){MotionEvent.ACTION_MOVE -> tv_1.setText("${velocityTracker!!.xVelocity}   ${velocityTracker!!.yVelocity}")MotionEvent.ACTION_UP -> {velocityTracker!!.recycle()velocityTracker = null}}return true  //这里要返回true,否则move,up事件都接收不到}})}
}

布局文件activity_velocity_tracker.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ui.compact.VelocityTrackerActivity"><TextViewandroid:id="@+id/tv_1"android:text="VelocityTracker"android:layout_width="wrap_content"android:gravity="center"android:layout_height="50dp" />
</LinearLayout>

VelocityTracker使用相关推荐

  1. 代码解说Android Scroller、VelocityTracker

    在编写自己定义滑动控件时经常会用到Android触摸机制和Scroller及VelocityTracker.Android Touch系统简单介绍(二):实例具体解释onInterceptTouchE ...

  2. VelocityTracker简单介绍

    翻译自:http://developer.android.com/reference/android/view/VelocityTracker.html 參照自: http://blog.jrj.co ...

  3. VelocityTracker简要

    翻译自:http://developer.android.com/reference/android/view/VelocityTracker.html 參照自: http://blog.jrj.co ...

  4. 滑轮控件研究四、VelocityTracker的简单研究

    帮助你追踪一个touch事件(flinging事件和其他手势事件)的速率.当你要跟踪一个touch事件的时候,使用obtain()方法得到这个类的实例,然后 用addMovement(MotionEv ...

  5. android.view.VelocityTracker

    顾名思义即速率跟踪者,主要用来跟踪触摸事件(flinging和getsture)的速率,在UI特效的设计上非常有用. 使用时: step1:通过VelocityTracker.obtain()方法实例 ...

  6. 速度追踪--VelocityTracker

    概述 我们都知道安卓手机的事件分为两类,一类是按键事件,另一类就是屏幕滑动事件,而我们大部分的事件都是通过屏幕滑动来产生的.在滑动的过程中你有没有想过要求一下手指在屏幕上滑动的速度呢!我们可以在滑动事 ...

  7. 关于Android滑动scroll,弹性滑动以及VelocityTracker

    一 VelocityTracker 速度追踪,手指在滑动中的速度,包括水平和竖直方向. 计算公式: 速度 =(终点位置-起点位置)/ 时间段 使用: VelocityTracker velocityT ...

  8. scrollTo与scrollBy用法以及TouchSlop与VelocityTracker解析

    下一篇: scroller类的用法完全解析以及带源码分析 最近在工作中使用到了scrollTo与scrollBy,因此在这准备对它们的用法以及TouchSlop与VelocityTracker做一下整 ...

  9. VelocityTracker的简单使用

    VelocityTracker顾名思义即速度跟踪,在android中主要应用于touch even.VelocityTracker通过跟踪一连串事件实时计算出当前的速度,这样的用法在android系统 ...

  10. Android 获取控件滑动速度,速度跟踪器VelocityTracker;

    VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...

最新文章

  1. 国民技术芯片相关产业研发
  2. 关于XP进程问题(转载)
  3. 干货|六维力和力矩传感器的技术与应用
  4. 推荐系统笔记:Introduction
  5. android开发桌面源码,android launcher 源码 自己开发启动桌面
  6. boost::filesystem::equivalent的用法测试程序
  7. c# mysql 文件存储_c# 如何实现保存文件到数据库
  8. iOS 16要来了:速度更快、UI改动明显?苹果WWDC大会或将在线下举行
  9. 将一个项目中的图片存到另一个项目中_复盘一个Smart200小项目(2)
  10. GDC 2006 Microsoft Developer Day Presentations
  11. Matplotlib——基本用法
  12. php json数组大小,php json转换成数组形式
  13. [c++]筛法求素数
  14. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
  15. FILD FLD FSTP
  16. 桌面以及文件资源管理器无限重启的解决
  17. 学习编程前需要知道什么?
  18. CorelDRAW X7入门到精通视频教程 广告 名片 相册 包装设计
  19. QQ盗号软件后门分析与反击
  20. 如何在Ubuntu安装EXE文件

热门文章

  1. linux拷贝文件和目录命令,Linux 命令 - cp: 拷贝文件和目录
  2. 手机扫码枪app,手机扫码,内容上电脑表格
  3. jenkins 下载 安装 启动教程-通过war的方式
  4. 商务与经济统计阅读笔记2
  5. 【仿人机器人】双足机器人行走碰撞模型:Passive g walking of a compass robot
  6. java 线程意外中断重启处理办法(观察者模式)
  7. 信息安全-应用安全-SAST、DAST、IAST
  8. 微信小程序怎么开通店铺呢?
  9. spss如何调用已经训练好的神经网络模型
  10. 中期答辩记录与总结反思