2

使用安卓VelocityTracker追踪MotionEvents时,是否需要考虑屏幕密度才能返回“密度无关速度”?

velocityTracker.computeCurrentVelocity(1); // pixels per milliseconds
float velocityY = velocityTracker.getYVelocity();

我是否必须将其velocityY与屏幕比例因子相乘,以便我可以在所有设备上跟踪相同的物理手势速度?

4

1 回答 1

3

对于您可能有的大多数用途,您无需担心这一点。

让我们考虑滚动自定义视图的情况:如果用户将手指移动 1 厘米,则可能是 100 像素或 400 像素,具体取决于屏幕密度。无论如何,你想要移动的是将绘图移动相同数量的像素,而不是缩放它们。

一个例外可能是,如果您正在编写游戏并且用户拖动手指的距离意味着他们将用于执行某些操作的力量。在这种情况下,调整屏幕密度可能是公平的。

总结:如果你想更新界面,你不需要担心。如果你想用这个速度做什么独立于屏幕,你可能想要调整它。

于 2014-01-19T01:30:30.590 回答