文档章节

VelocityTracker使用

蜗牛崛起
 蜗牛崛起
发布于 2016/10/14 14:53
字数 321
阅读 21
收藏 1

velocity [və'lɒsəti] n.速度;迅速;速率 ; Tracker 英['trækə] n. 追踪者;跟踪装置 VelocityTracker顾名思义即速度跟踪。

android.view.VelocityTracke主要用跟踪触摸屏事件的速率。在android中主要应用于touch even。 VelocityTracker通过跟踪一连串事件实时计算出当前的速度,比如Gestures中的Fling, Scrolling和其他gestures手势事件等。

使用过程:

  1. 当你需要跟踪触摸屏事件的速度的时候,使用VelocityTracker.obtain()方法来获得VelocityTracker类的一个实例对象。
  2. 在onTouchEvent回调函数中,使用addMovement(MotionEvent)函数将当前的移动事件传递给VelocityTracker对象。
  3. 使用computeCurrentVelocity (int units)函数来初始化速率的单位(获取速率前一定要调用此方法),使用 getXVelocity ()、 getYVelocity ()函数获得横向和竖向的速率到速率。
  4. 回收VelocityTracker对象

示例代码

    private VelocityTracker mVelocityTracker;

    linearLayout.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                //创建VelocityTracker对象,并将触摸content界面的滑动事件加入到VelocityTracker当中。
                if (mVelocityTracker == null) {
                    mVelocityTracker = VelocityTracker.obtain();
                }
                mVelocityTracker.addMovement(event);

                switch (event.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        break;
                    case MotionEvent.ACTION_MOVE:
                        //设置移动速度单位为:像素/10000ms,即1000毫秒内移动的像素
                        mVelocityTracker.computeCurrentVelocity(1000);
                        //获取手指在界面滑动的速度。
                        int velocity = (int) mVelocityTracker.getXVelocity();
                        textView.setText(velocity+"");
                        break;
                    case MotionEvent.ACTION_UP:
                        //回收对象
                        mVelocityTracker.recycle();
                        mVelocityTracker = null;
                        break;
                }
                return true;
            }
        });

© 著作权归作者所有

蜗牛崛起
粉丝 3
博文 127
码字总数 63547
作品 0
东城
程序员
私信 提问
Android VelocityTracker

简介: android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你...

SRain215
2016/04/12
25
0
VelocityTracker简介

android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。 addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用...

gavin_jin
2013/10/02
591
0
VelocityTracker监控速度

用来追踪触摸事件(flinging事件和其他手势事件)的速率。用obtain()函数来获得类的实例,用addMovement(MotionEvent)函数将motion event加入到VelocityTracker类实例中,当你使用到速率时,...

°me.7
2012/12/11
109
0
ViewGroup的手势和绘制机制(个人看法)

学习最好的办法就是从实际出发,所以我选择了ScrollLayout(左右滑动切换屏幕控件)来作为例子,讲述一下我对ViewGroup的一些机制的个人理解。 首先先贴一下ScrollLayout的代码: package cn...

leaf志良
2013/09/14
897
1
Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199),请尊重他人的辛勤劳动成果,谢谢! 我在上一篇文章中Android 带你从源码的角度解析Scrol...

程序袁_绪龙
2015/08/13
865
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部