`

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时:计算速率 
    final VelocityTracker velocityTracker = mVelocityTracker; 
    // 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  ()函数来获得当前的速度
分享到:
评论

相关推荐

    android velocityTracker滑动速度检测器简单使用

    在Android开发中,VelocityTracker是用于检测用户触摸屏幕滑动手势速度的重要工具。它可以帮助我们了解手指在屏幕上移动的速度和方向,这对于实现如滚动、滑动解锁等手势操作的交互非常有用。本教程将深入讲解如何在...

    详细讲解自定义ViewGroup+Scroller+VelocityTracker做出Launcher滑动

    本教程将深入讲解如何结合Scroller和VelocityTracker来实现一个类似Launcher(应用启动器)的滑动效果。这种滑动效果常见于手机桌面,允许用户平滑地在多个页面之间切换。 首先,了解ViewGroup。ViewGroup是Android...

    ViewPager 放大缩小左右移动

    private VelocityTracker mVelocityTracker; private int mMinimumVelocity; private int mMaximumVelocity; private float mBaseLineFlingVelocity; private float mFlingVelocityInfluence; private int ...

    Android获取在屏幕滑动速度的实例

    本实例将详细讲解如何利用Android的VelocityTracker类来计算滑动速度。 首先,VelocityTracker是Android提供的一个工具类,用于追踪和计算一段时间内手指在屏幕上移动的速度。它能够帮助开发者获取滑动事件的平均...

    Android ScrollView反弹效果

    private VelocityTracker velocityTracker; private int lastY; public ReboundScrollView(Context context) { super(context); } // ...其他构造函数... @Override public boolean onTouchEvent...

    ScrollViews上下左右滑动

    fling((int) -velocityTracker.getXVelocity(), (int) -velocityTracker.getYVelocity()); velocityTracker.recycle(); velocityTracker = null; break; } return true; // 消耗事件,防止父控件拦截 } } ``...

    L14-ViewGroup 的触摸反馈、ViewPager 和拖拽-讲义.pdf

    - 在ACTION_DOWN事件中,使用`VelocityTracker.obtain()`创建实例或`velocityTracker.clear()`重置现有实例。 - 对于每个事件,调用`velocityTracker.addMovement(event)`将事件添加到VelocityTracker。 - 在需要...

    gridView 实现gallery滑动

    private VelocityTracker velocityTracker; private int minimumFlingVelocity; // 最小滑动速度 public SmoothScrollGridView(Context context) { super(context); init(context); } public ...

    自定义Android可滑动控件源码

    本文将深入探讨如何实现一个可滑动显示图片的控件,通过这个过程,我们可以学习到Android的触控事件处理机制、Scroller类的应用以及VelocityTracker的用法。 首先,Android的触控事件处理主要包括三个基本步骤:...

    ViewPager 滑动速度设置,并实现点击按钮滑动

    VelocityTracker velocityTracker = VelocityTracker.obtain(); velocityTracker.addMovement(ev); velocityTracker.computeCurrentVelocity(1000); // 1000代表单位为毫秒 int velocityX = (int) ...

    Android 自定义布局竖向的ViewPager的实现

    在`onTouchEvent`的序列中,我们可以在ACTION_DOWN事件中启动VelocityTracker,然后在ACTION_UP或ACTION_CANCEL事件中计算速度。 处理滑动事件冲突也是实现自定义ViewPager的关键。这通常涉及到`dispatchTouchEvent...

    android手势翻页效果

    总之,"android手势翻页效果"是Android开发中提升用户体验的一种重要技术,通过理解和运用`GestureDetector`, `Scroller`以及`VelocityTracker`,开发者可以创造出更生动、自然的用户界面。这个小例子对于深入理解...

    android 左右滑动翻页技术文档

    通过`VelocityTracker.obtain()`获取实例,然后在`onTouchEvent()`方法中,使用`addMovement(MotionEvent)`添加MotionEvent,接着调用`computeCurrentVelocity(int)`计算速度,并使用`getXVelocity()`和`...

    android自定义布局中的平滑移动

    总结来说,实现Android自定义布局的平滑移动需要对`ViewGroup`的生命周期有深刻的理解,熟练运用`VelocityTracker`、`Scroller`和`ViewConfiguration`,并精细处理触摸事件和视图布局。通过这种方式,开发者可以创造...

    Android自定义柱状图表的方法实例

    `Scroller`用于处理平滑滚动,`velocityTracker`用于检测用户的滑动速度。通过监听触摸事件,我们可以根据用户的滑动速度和方向来更新图表的位置,从而实现图表的动态滚动。 在实际绘制过程中,我们使用`canvas`...

    安卓高级UI培训课程

    自绘控件、继承控件、组合控件、Scroller详解及源码浅析、ViewDragHelper详解及源码浅析、自定义View触摸工具类解析(ViewConfiguration基础参数工具类、VelocityTracker手势速率工具类、GestureDetector手势工具类...

    android 页面滑动

    总结来说,实现"android页面滑动"需要理解并掌握ViewPager、PagerAdapter、Scroller、VelocityTracker等核心组件和类,同时可能还需要结合自定义视图和动画技术,以达到类似桌面的弹性滑动体验。对于开发者而言,这...

    Android Spinner滑动调整数值实例.rar

    Scroller可以帮助我们实现平滑的动画效果,而VelocityTracker则可以追踪用户的触摸速度,这些都可以用于判断滑动的方向和幅度,从而精确地调整数值。 此外,源码中包含两个Spinner实例,这意味着可能有两种不同的...

    RenRenSlideMenuDemo.zip

    * 创建VelocityTracker对象,并将触摸content界面的滑动事件加入到VelocityTracker当中。 * * @param event * content界面的滑动事件 */ private void createVelocityTracker(MotionEvent event) { if...

    Android高级应用源码-android自定义控件-侧滑菜单.zip

    `GestureDetector`用于检测滑动事件,`Scroller`帮助平滑地滚动视图,而`VelocityTracker`则用于计算手指滑动的速度。 5. **布局设计**:在XML布局文件中,需要为主要内容视图和侧滑视图分配相应的空间,并确保它们...

Global site tag (gtag.js) - Google Analytics