VelocityTracker使用
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使用相关推荐
- 代码解说Android Scroller、VelocityTracker
在编写自己定义滑动控件时经常会用到Android触摸机制和Scroller及VelocityTracker.Android Touch系统简单介绍(二):实例具体解释onInterceptTouchE ...
- VelocityTracker简单介绍
翻译自:http://developer.android.com/reference/android/view/VelocityTracker.html 參照自: http://blog.jrj.co ...
- VelocityTracker简要
翻译自:http://developer.android.com/reference/android/view/VelocityTracker.html 參照自: http://blog.jrj.co ...
- 滑轮控件研究四、VelocityTracker的简单研究
帮助你追踪一个touch事件(flinging事件和其他手势事件)的速率.当你要跟踪一个touch事件的时候,使用obtain()方法得到这个类的实例,然后 用addMovement(MotionEv ...
- android.view.VelocityTracker
顾名思义即速率跟踪者,主要用来跟踪触摸事件(flinging和getsture)的速率,在UI特效的设计上非常有用. 使用时: step1:通过VelocityTracker.obtain()方法实例 ...
- 速度追踪--VelocityTracker
概述 我们都知道安卓手机的事件分为两类,一类是按键事件,另一类就是屏幕滑动事件,而我们大部分的事件都是通过屏幕滑动来产生的.在滑动的过程中你有没有想过要求一下手指在屏幕上滑动的速度呢!我们可以在滑动事 ...
- 关于Android滑动scroll,弹性滑动以及VelocityTracker
一 VelocityTracker 速度追踪,手指在滑动中的速度,包括水平和竖直方向. 计算公式: 速度 =(终点位置-起点位置)/ 时间段 使用: VelocityTracker velocityT ...
- scrollTo与scrollBy用法以及TouchSlop与VelocityTracker解析
下一篇: scroller类的用法完全解析以及带源码分析 最近在工作中使用到了scrollTo与scrollBy,因此在这准备对它们的用法以及TouchSlop与VelocityTracker做一下整 ...
- VelocityTracker的简单使用
VelocityTracker顾名思义即速度跟踪,在android中主要应用于touch even.VelocityTracker通过跟踪一连串事件实时计算出当前的速度,这样的用法在android系统 ...
- Android 获取控件滑动速度,速度跟踪器VelocityTracker;
VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...
最新文章
- 国民技术芯片相关产业研发
- 关于XP进程问题(转载)
- 干货|六维力和力矩传感器的技术与应用
- 推荐系统笔记:Introduction
- android开发桌面源码,android launcher 源码 自己开发启动桌面
- boost::filesystem::equivalent的用法测试程序
- c# mysql 文件存储_c# 如何实现保存文件到数据库
- iOS 16要来了:速度更快、UI改动明显?苹果WWDC大会或将在线下举行
- 将一个项目中的图片存到另一个项目中_复盘一个Smart200小项目(2)
- GDC 2006 Microsoft Developer Day Presentations
- Matplotlib——基本用法
- php json数组大小,php json转换成数组形式
- [c++]筛法求素数
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3
- FILD FLD FSTP
- 桌面以及文件资源管理器无限重启的解决
- 学习编程前需要知道什么?
- CorelDRAW X7入门到精通视频教程 广告 名片 相册 包装设计
- QQ盗号软件后门分析与反击
- 如何在Ubuntu安装EXE文件