是否可以通过现有的api在android中获取触摸事件的速度或速度或加速度?我已经完成了 MotionEvent 类,但该类中的任何字段似乎都无法检索到我需要的信息。任何帮助将不胜感激
最佳答案
在这种情况下,MotionEvent 对您没有帮助。您可以使用 VelocityTracker 类。它获取 MotionEvent 实例并计算最近触摸事件的速度。 您可以在此处查看其文档: http://developer.android.com/reference/android/view/VelocityTracker.html
首先你必须通过obtain()方法得到一个实例:
VelocityTracker velocity = VelocityTracker.obtain();
然后您可以将 ACTION_MOVE 事件添加到其队列中:
if(event.getAction() == MotionEvent.ACTION_MOVE)
{
velocity.addMovement(event);
}
然后你可以计算速度并提取 x_velocity 和 y_velocity
velocity.computeCurrentVelocity(1000);
float x_velocity = velocity.getXVelocity();
float y_velocity = velocity.getYVelocity();
希望对你有用。
关于android - 运动事件android的速度或加速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10155907/