当前位置: 首页 > news >正文

VelocityTracker简介

android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用computeCurrentVelocity(int)来初始化速率的单位 。

 
示例: 
    private VelocityTracker mVelocityTracker;//生命变量 
    //在onTouchEvent(MotionEvent ev)中 
    if (mVelocityTracker == null) { 
             mVelocityTracker = VelocityTracker. obtain () ;//获得VelocityTracker类实例 
    } 
     mVelocityTracker. addMovement (ev); //将事件加入到VelocityTracker类实例中 
     //判断当ev事件是MotionEvent.ACTION_UP时:计算速率 
     // 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  () 函数来获得当前的速度
本文转自 demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3684988.html如需转载请自行联系原作者

demoblog

相关文章:

  • 基于Netty4的HttpServer和HttpClient的简单实现
  • Centos6.8安装Gitlab7.6
  • 大规模分布式系统问题集及解决方案(学习)
  • php发送短信验证码完成注册功能
  • Struts2国际化-getText()方法
  • WDS部署服务之二镜像导入
  • 20170118修改商品流水
  • 如何轻松运维,你是救火队员还是工程师?
  • CentOS6.7 mysql 主从配置
  • Zookeeper的zoo.cfg的配置
  • 编写一个简单通用的makefile
  • ORA-00119: invalid specification for system parameter REMOTE_LISTENER
  • bootstrap-水平表单
  • MYSQL数据库字符编码设置
  • 网站测试自动化系统—数据驱动测试
  • 2017前端实习生面试总结
  • flask接收请求并推入栈
  • HTML中设置input等文本框为不可操作
  • magento 货币换算
  • springMvc学习笔记(2)
  • tweak 支持第三方库
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 嵌入式文件系统
  • 以太坊客户端Geth命令参数详解
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • #pragma预处理命令
  • #控制台大学课堂点名问题_课堂随机点名
  • $.ajax()
  • (02)Hive SQL编译成MapReduce任务的过程
  • (搬运以学习)flask 上下文的实现
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (算法)N皇后问题
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET : 在VS2008中计算代码度量值
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Standard 的管理策略
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • @Async注解的坑,小心
  • @Validated和@Valid校验参数区别
  • [ACM] hdu 1201 18岁生日
  • [Android]How to use FFmpeg to decode Android f...
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle
  • [Java][Liferay] File system in liferay
  • [JavaWeb]—Spring入门
  • [mysql]错误解决之Failed to start MySQL Server
  • [nginx] LEMP 架构随笔