VelocityTracker就是速度跟踪的意思。我们可以获得触摸点的坐标,根据按下的时间可以简单的计算出速度的大小。
Android直接提供了一种方式来方便我们获得触摸的速度。
public class VelocityTrackerActivityActivity extends Activity {
/** Called when the activity is first created. */
TextView textView;
private VelocityTracker vTracker = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView)findViewById(R.id.textView);
}
@Override
public boolean onTouchEvent(MotionEvent event){
int action = event.getAction();
switch(action){
case MotionEvent.ACTION_DOWN:
if(vTracker == null){
vTracker = VelocityTracker.obtain();
}else{
vTracker.clear();
}
vTracker.addMovement(event);
break;
case MotionEvent.ACTION_MOVE:
vTracker.addMovement(event);
vTracker.computeCurrentVelocity(1000);
textView.setText("the x velocity is "+vTracker.getXVelocity());
textView.append("the y velocity is "+vTracker.getYVelocity());
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
vTracker.recycle();
break;
}
event.recycle();
return true;
}
}
VelocityTracker不仅可以处理单点的速度,也可以获得多点的速度。这和处理多点触摸的方式是一样的,传入一个ID就可以了。VelocityTracker获得的速度是有正负之分,computerCurrentVelocity()可以设置单位。1000 表示每秒多少像素(pix/second),1代表每微秒多少像素(pix/millisecond)。
分享到:
相关推荐
在Android开发中,VelocityTracker是用于检测用户触摸屏幕滑动手势速度的重要工具。它可以帮助我们了解手指在屏幕上移动的速度和方向,这对于实现如滚动、滑动解锁等手势操作的交互非常有用。本教程将深入讲解如何在...
本实例将详细讲解如何利用Android的VelocityTracker类来计算滑动速度。 首先,VelocityTracker是Android提供的一个工具类,用于追踪和计算一段时间内手指在屏幕上移动的速度。它能够帮助开发者获取滑动事件的平均...
在MyFlayDemo项目中,你应该能找到具体的代码实现,包括对各个步骤的详细注释,这对于理解自定义ViewGroup、Scroller和VelocityTracker的工作原理非常有帮助。通过学习和实践这个示例,你将能够熟练掌握这些技术,为...
在处理自定义触摸事件时,如果GestureDetector不能满足需求,可以利用VelocityTracker。通过以下步骤使用VelocityTracker: - 在ACTION_DOWN事件中,使用`VelocityTracker.obtain()`创建实例或`velocityTracker....
总之,通过自定义ViewPager并重写其触摸事件处理,我们可以实现滑动速度的控制。同时,结合按钮点击事件,我们可以轻松实现点击按钮时的页面滑动。这些技巧在构建具有交互性更强的Android应用时非常实用。在实际开发...
`VelocityTracker`用于跟踪和计算手势的速度,从而得到初始速度。`Scroller`则根据初始速度和边界条件(如最大最小速度限制)来计算滑动的轨迹。`ViewConfiguration`提供了与设备相关的触摸和滑动配置,如最小滑动...
总的来说,`PagedView`通过精确控制触摸事件的拦截和处理,以及对滑动速度的智能跟踪,实现了在`Launcher2`中平滑、自然的页面滑动效果。理解这一机制对于优化自定义Launcher或者开发类似功能的应用具有重要的参考...
为了实现滑动调整数值的效果,开发者可能利用了Android的Scroller类或VelocityTracker类来处理滑动速度和轨迹。Scroller可以帮助我们实现平滑的动画效果,而VelocityTracker则可以追踪用户的触摸速度,这些都可以...
总的来说,实现“两点左右上下倾斜全方位滑动”需要对Android的触摸事件处理、多点触控、传感器数据以及动画平滑技术有深入的理解。通过自定义GestureDetector,结合SensorManager,我们可以创建一个高度自定义的...
为了实现高级的手势识别功能,Android系统还提供了一些系统级的触摸处理程序,例如Scroller、VelocityTracker等,这些类可以帮助开发者在视图中实现滑动和滚动等功能。而自定义的手势处理则可能需要使用...
同时,开发者还可以使用Scroller或VelocityTracker类来辅助实现平滑的动画效果和速度检测。 接下来,**各种布局的自定义**是Android界面设计的一大特色。开发者可以通过继承ViewGroup类来创建自定义布局,例如,...
总的来说,自定义带有反弹效果的ScrollView是一种增强用户交互体验的有效方式,它需要开发者对Android触摸事件、动画系统以及自定义View有深入的理解。通过这样的实践,开发者可以更好地掌握Android开发中的核心技能...
VelocityTracker是Android提供的另一个关键工具,用于追踪和分析触摸事件的速度。在ACTION_MOVE事件中,我们可以添加轨迹点到VelocityTracker,并通过`computeCurrentVelocity()`方法获取手指滑动的速度。这在实现...
VelocityTracker用于追踪触摸事件的速度,帮助检测用户的快速滑动(fling)动作。通过`VelocityTracker.obtain()`获取实例,然后在`onTouchEvent()`方法中,使用`addMovement(MotionEvent)`添加MotionEvent,接着...
在Android开发中,GridView是一种常用的布局控件,它允许我们以...这需要对Android的触摸事件处理、滚动机制以及自定义视图有深入的理解。通过这样的实践,开发者可以更好地掌控应用的界面交互,提升产品的整体质量。
接下来, VelocityTracker是追踪用户触摸屏幕速度的重要工具。它能够记录用户的滑动速度,这对于判断是低速滑动还是快速滑动至关重要。在`onTouchEvent`的序列中,我们可以在ACTION_DOWN事件中启动VelocityTracker,...
在Android开发中,为了提供类似QQ列表的侧滑效果,我们常常会利用Scroller类结合View的scrollTo方法来实现。Scroller是一个动画工具类,它并不直接改变View的位置,而是计算出一个平滑的滚动过程,然后由开发者通过...
`Scroller`用于计算动画的持续时间和滚动距离,而`VelocityTracker`则记录手指滑动的速度,这两者结合可以创建出平滑的翻页动画。 要实现"android手势翻页效果",你需要做以下步骤: 1. 创建一个自定义的`View`...
- `onInterceptTouchEvent` 和 `onTouchEvent` 方法:用于捕获和处理触摸事件,跟踪用户的滑动行为。 - `computeScroll` 方法:此方法在View的绘制过程中被调用,可用于执行滚动动画。 - `overScrollBy` 方法:重写...