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  ()函数来获得当前的速度

人已赞赏
AndroidAndroid文章

Math.abs()方法

2020-3-18 15:51:59

Android文章

Android开发flv格式详解+实例剖析

2020-3-18 16:49:07

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索