使用Android的VelocityTracker
跟踪MotionEvents
时,是否需要考虑屏幕密度才能返回“密度独立速度”?
velocityTracker.computeCurrentVelocity(1); // pixels per milliseconds
float velocityY = velocityTracker.getYVelocity();
我是否必须使用屏幕缩放系数对此velocityY
多个,以便我可以在所有设备上跟踪相同的物理手势速度?
答案 0 :(得分:2)
对于您可能拥有的大多数用途,您无需担心。
让我们考虑滚动自定义视图的情况:如果用户将手指移动1cm,则可能是100px或400px,具体取决于屏幕密度。无论如何,你想要移动的是将图形移动相同数量的像素,而不是缩放它们。
如果您正在编写游戏,并且用户拖动他的手指的距离意味着他们将用于执行某些操作的力量,则可能有一个例外。在这种情况下,调整屏幕密度可能是公平的。
总结:如果您想更新界面,则无需担心。如果你想对这个速度做什么与屏幕无关,你可能想要调整它。