`
sudongfeng
  • 浏览: 8198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VelocityTracker类

 
阅读更多

VelocityTracker类:

 

Helper for tracking the velocity of touch events, for implementing flinging and other such gestures. Use obtain to retrieve a new instance of the class when you are going to begin tracking, put the motion events you receive into it with addMovement(MotionEvent), and when you want to determine the velocity callcomputeCurrentVelocity(int) and then getXVelocity() and getXVelocity().

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

 

VelocityTracker.computeCurrentVelocity(int units, float maxVelocity)

Compute the current velocity based on the points that have been collected. Only call this when you actually want to retrieve velocity information, as it is relativelyexpensive. You can then retrieve the velocity with getXVelocity() and getYVelocity().

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


Parameters:
units The units you would like the velocity in. A value of 1 provides pixels per millisecond, 1000 provides pixelsper second, etc.
maxVelocity The maximum velocity that can be computed by this method. This value must be declared in the same unit as the units parameter. This value must be positive.
参数:
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());

 

那位英语好的朋友,帮忙分析一下,下面这句怎么翻译, The units you would like the velocity in.

分享到:
评论

相关推荐

    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