`
cheng330301560
  • 浏览: 178845 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

VelocityTracker类

阅读更多

 用来追踪触摸事件(flinging事件和其他手势事件)的速率。用obtain()函数 来获得类的实例,用addMovement(MotionEvent)函数将motion event加入到VelocityTracker类实例中,当你使用到速率时,使用computeCurrentVelocity(int)初始化速率的 单位,并获得当前的事件的速率,然后使用getXVelocity() 或getXVelocity()获得横向和竖向的速率。

 

VelocityTracker.computeCurrentVelocity(int units, float maxVelocity)

        计算那些已经发生触摸事件点的当前速率。这个函数只有在你需要得到速率消息的情况下才调用,因为使用它需要消耗很大的性能。通过getXVelocity()和getYVelocity()获得横向和竖向的速率。

参数:
  units:  你使用的速率单位.1的意思是,以一毫秒运动了多少个像素的速率, 1000表示 一秒时间内运动了多少个像素。

       maxVelocity: 这个方法能计算出事件的最大速率。他的值和上面的units的值具有一样的单位,这个值必须是正数。

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());

分享到:
评论

相关推荐

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

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

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

    VelocityTracker是Android提供的一个类,它能够收集和计算触摸事件的移动速度。通过调用其addMovement()方法,我们可以将MotionEvent中的位置变化传递给VelocityTracker,然后使用computeCurrentVelocity()来获取...

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

    为了实现滑动调整数值的效果,开发者可能利用了Android的Scroller类或VelocityTracker类来处理滑动速度和轨迹。Scroller可以帮助我们实现平滑的动画效果,而VelocityTracker则可以追踪用户的触摸速度,这些都可以...

    自定义numberpicker

    这可能需要对Scroller或VelocityTracker类有深入理解,并对OnScrollListener进行处理。 4. **触摸反馈**:为NumberPicker添加触摸事件监听,当用户点击或滑动时给予视觉或听觉反馈。这可以通过实现OnTouchListener...

    Android程序研发源码Android 仿UC,墨迹天气左右拖动多屏幕显示效果源码.rar

    这通常通过Scroller或VelocityTracker类来完成。这两个类可以帮助我们计算出滑动结束后的速度,进而模拟出物体在物理世界中的惯性效果。 4. **动画效果**:在滑动过程中,可以使用Android的ViewPropertyAnimator或...

    Android自定义侧滑框架

    为了更精确地识别滑动动作,我们可以利用VelocityTracker类来追踪手指移动的速度和方向。 视图动画是侧滑菜单的关键,Android提供了多种动画API,如TranslationAnimation、ObjectAnimator和ValueAnimator。在这里,...

    Android应用源码之HorizontalListViewDemo 横向滑动的ListView_应用.zip

    6. **滚动效果**:为了提供平滑的滚动体验,可能需要使用Scroller或VelocityTracker类来处理惯性和滑动速度。这些类可以帮助我们实现类似物理世界的滚动效果,如弹性回弹和快速滑动时的减速。 7. **性能优化**:在...

    仿ios-pickerView(eclipse版)

    为了达到iOS UIPickerView的滚动效果,开发者可能需要使用Scroller或VelocityTracker类来处理滚动动画,使得滚动过程平滑自然。同时,为了展示数据,需要实现一个适配器(Adapter)类,将数据与View进行绑定,类似于...

    Android自定义折线图,可左右滑动,可点击

    - 实现滑动手势检测:可以使用GestureDetector或者Scroller/VelocityTracker类来捕捉用户的滑动操作。 - 更新数据范围:根据滑动方向,更新可视区域的数据范围,重新绘制折线图。 - 滑动动画:为了提供平滑的用户...

    Android-Andorid一个类似360安全卫士的可拖动波浪气泡控件

    此外,如果需要气泡随着手指滑动而平滑移动,可能还需要运用到Scroller或VelocityTracker类来处理物理模拟和速度追踪。 考虑到波浪形状的复杂性,开发者可能使用了Bezier曲线来绘制。Bezier曲线是一种数学上常用的...

    安卓自定义控件相关-android实现滑动控制速度控制各种布局自定义组件.rar

    同时,开发者还可以使用Scroller或VelocityTracker类来辅助实现平滑的动画效果和速度检测。 接下来,**各种布局的自定义**是Android界面设计的一大特色。开发者可以通过继承ViewGroup类来创建自定义布局,例如,...

    Android 滑动效果 自定义控件

    此外,如果需要更流畅的滑动效果,可以考虑使用Scroller或VelocityTracker类。 总的来说,自定义ViewGroup并实现滑动效果涉及对Android UI框架的深入理解和巧妙利用。通过精确控制测量、布局、触摸事件处理和动画,...

    DemoSpringView

    它使用了Android的Scroller类和VelocityTracker类来精确控制动画效果,确保滑动过程中的平滑性和连贯性。同时,框架还提供了多种自定义样式,如经典的旋转箭头、水波纹效果等,让开发者可以自由选择或自定义加载动画...

    Android代码-上下滚动选择器

    开发者可能使用了Scroller或 VelocityTracker类来处理滚动动画,以确保滚动的平滑性和自然性。 2. **数据绑定**:选择器需要显示数据,因此开发者可能设计了一个接口或者继承自Adapter的类,用于将数据集与视图绑定...

    View拖拽.zip

    此外,Android的VelocityTracker类可以帮助我们获取手指移动的速度,从而实现更自然的惯性效果。 总的来说,"View拖拽"是一个涉及到用户交互的重要话题。通过理解和实践这个"View拖拽.zip"压缩包中的CardView示例,...

    仿微信QQ聊天带表情可翻页带拖动缓冲.zip )

    这需要对View的滑动事件(MotionEvent)有良好的处理,可能需要用到Scroller或VelocityTracker类。 6. **聊天记录的加载与缓存**: - 类似微信和QQ的聊天应用通常需要异步加载历史消息,并进行智能缓存,以便快速...

    Android源码——SwipeView类似桌面的滑动界面_new_16.zip

    这需要在滑动手势识别的基础上,结合Scroller或VelocityTracker类来实现。 5. **性能优化**:在处理大量视图时,性能优化尤为重要。可以使用ViewStub来延迟加载未显示的视图,减少内存占用;同时,合理使用...

    listview侧滑删除

    可以使用VelocityTracker类来检测滑动的速度和方向,以确定是否触发删除操作。 在适配器内部,我们还需要添加一个回调接口,用于通知应用何时触发了删除操作。当用户滑动到指定边界并且松开手指时,触发回调,并...

    在ListView上滑动显示Delete按钮

    滑动监听可以通过实现GestureDetector或VelocityTracker类来实现。当检测到滑动动作时,我们可以调整ListView中相应Item的视图,显示出隐藏的Delete按钮。 接下来,我们需要设计Delete按钮的布局。这通常是一个...

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

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

Global site tag (gtag.js) - Google Analytics