2014-01-14 49 views
1

當使用Android的VelocityTracker跟蹤MotionEvents時,是否有必要考慮屏幕密度以返回「密度無關的速度」?Velocity Tracker佔屏幕像素密度

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

我必須多本velocityY與屏幕比例係數,這樣我可以跟蹤所有的設備在同一物理手勢的速度?

回答

2

對於您可能擁有的大多數用途,您無需擔心這一點。

讓我們考慮滾動自定義視圖的情況:如果用戶將他的手指移動1cm,則可能是100px或400px,具體取決於屏幕密度。無論如何,你想要移動的是移動繪圖相同數量的像素,而不縮放它們。

如果您正在編寫遊戲,並且用戶拖動手指的距離意味着他們將用於執行某些操作的能力,則可能有一個例外。在這種情況下,調整屏幕密度可能是公平的。

總結:如果你想更新界面,你不需要擔心。如果你想用這個速度做什麼獨立於屏幕,你可能想調整它。

+0

這是一個很好的答案。我正在研究需要在任何設備上具有相似速度的內容,因此我將針對屏幕密度進行調整。謝謝。 – mdupls