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的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...