用来追踪触摸事件(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的VelocityTracker类来计算滑动速度。 首先,VelocityTracker是Android提供的一个工具类,用于追踪和计算一段时间内手指在屏幕上移动的速度。它能够帮助开发者获取滑动事件的平均...
VelocityTracker是Android提供的一个类,它能够收集和计算触摸事件的移动速度。通过调用其addMovement()方法,我们可以将MotionEvent中的位置变化传递给VelocityTracker,然后使用computeCurrentVelocity()来获取...
为了实现滑动调整数值的效果,开发者可能利用了Android的Scroller类或VelocityTracker类来处理滑动速度和轨迹。Scroller可以帮助我们实现平滑的动画效果,而VelocityTracker则可以追踪用户的触摸速度,这些都可以...
这可能需要对Scroller或VelocityTracker类有深入理解,并对OnScrollListener进行处理。 4. **触摸反馈**:为NumberPicker添加触摸事件监听,当用户点击或滑动时给予视觉或听觉反馈。这可以通过实现OnTouchListener...
这通常通过Scroller或VelocityTracker类来完成。这两个类可以帮助我们计算出滑动结束后的速度,进而模拟出物体在物理世界中的惯性效果。 4. **动画效果**:在滑动过程中,可以使用Android的ViewPropertyAnimator或...
为了更精确地识别滑动动作,我们可以利用VelocityTracker类来追踪手指移动的速度和方向。 视图动画是侧滑菜单的关键,Android提供了多种动画API,如TranslationAnimation、ObjectAnimator和ValueAnimator。在这里,...
6. **滚动效果**:为了提供平滑的滚动体验,可能需要使用Scroller或VelocityTracker类来处理惯性和滑动速度。这些类可以帮助我们实现类似物理世界的滚动效果,如弹性回弹和快速滑动时的减速。 7. **性能优化**:在...
为了达到iOS UIPickerView的滚动效果,开发者可能需要使用Scroller或VelocityTracker类来处理滚动动画,使得滚动过程平滑自然。同时,为了展示数据,需要实现一个适配器(Adapter)类,将数据与View进行绑定,类似于...
- 实现滑动手势检测:可以使用GestureDetector或者Scroller/VelocityTracker类来捕捉用户的滑动操作。 - 更新数据范围:根据滑动方向,更新可视区域的数据范围,重新绘制折线图。 - 滑动动画:为了提供平滑的用户...
此外,如果需要气泡随着手指滑动而平滑移动,可能还需要运用到Scroller或VelocityTracker类来处理物理模拟和速度追踪。 考虑到波浪形状的复杂性,开发者可能使用了Bezier曲线来绘制。Bezier曲线是一种数学上常用的...
同时,开发者还可以使用Scroller或VelocityTracker类来辅助实现平滑的动画效果和速度检测。 接下来,**各种布局的自定义**是Android界面设计的一大特色。开发者可以通过继承ViewGroup类来创建自定义布局,例如,...
此外,如果需要更流畅的滑动效果,可以考虑使用Scroller或VelocityTracker类。 总的来说,自定义ViewGroup并实现滑动效果涉及对Android UI框架的深入理解和巧妙利用。通过精确控制测量、布局、触摸事件处理和动画,...
它使用了Android的Scroller类和VelocityTracker类来精确控制动画效果,确保滑动过程中的平滑性和连贯性。同时,框架还提供了多种自定义样式,如经典的旋转箭头、水波纹效果等,让开发者可以自由选择或自定义加载动画...
开发者可能使用了Scroller或 VelocityTracker类来处理滚动动画,以确保滚动的平滑性和自然性。 2. **数据绑定**:选择器需要显示数据,因此开发者可能设计了一个接口或者继承自Adapter的类,用于将数据集与视图绑定...
此外,Android的VelocityTracker类可以帮助我们获取手指移动的速度,从而实现更自然的惯性效果。 总的来说,"View拖拽"是一个涉及到用户交互的重要话题。通过理解和实践这个"View拖拽.zip"压缩包中的CardView示例,...
这需要对View的滑动事件(MotionEvent)有良好的处理,可能需要用到Scroller或VelocityTracker类。 6. **聊天记录的加载与缓存**: - 类似微信和QQ的聊天应用通常需要异步加载历史消息,并进行智能缓存,以便快速...
这需要在滑动手势识别的基础上,结合Scroller或VelocityTracker类来实现。 5. **性能优化**:在处理大量视图时,性能优化尤为重要。可以使用ViewStub来延迟加载未显示的视图,减少内存占用;同时,合理使用...
可以使用VelocityTracker类来检测滑动的速度和方向,以确定是否触发删除操作。 在适配器内部,我们还需要添加一个回调接口,用于通知应用何时触发了删除操作。当用户滑动到指定边界并且松开手指时,触发回调,并...
滑动监听可以通过实现GestureDetector或VelocityTracker类来实现。当检测到滑动动作时,我们可以调整ListView中相应Item的视图,显示出隐藏的Delete按钮。 接下来,我们需要设计Delete按钮的布局。这通常是一个...
本教程将深入讲解如何结合Scroller和VelocityTracker来实现一个类似Launcher(应用启动器)的滑动效果。这种滑动效果常见于手机桌面,允许用户平滑地在多个页面之间切换。 首先,了解ViewGroup。ViewGroup是Android...