2016-09-26 45 views
0

在這個Android文檔https://developer.android.com/guide/practices/screens_support.html它說, getScaledTouchSlop返回一個像素值。但是採樣行將該值放在一個名爲DP的常量中。ViewConfiguration.getScaledTouchSlop返回像素或DP(密度獨立像素)?

private static final int GESTURE_THRESHOLD_DP = ViewConfiguration.get(myContext).getScaledTouchSlop(); 

這很混亂。 ViewConfiguration本身並沒有解釋更多getScaled的含義。

我應該在使用該值之前將DP轉換爲px,以便將它與返回像素的MotionEvent.getY()進行比較?

+0

應禁止在沒有評論的情況下進行downvoting。 – Softlion

回答

1

它以像素爲單位返回值,但按比例縮放到設備的密度。即它返回轉換爲像素值的DP值。

所以你不必再次將它轉換爲像素。

例如,假設它爲mdpi設備返回值10。然後它將返回40爲xxxhdpi(4倍的mdpi)設備。

我想,他們在常量字段名稱中使用了DP,因爲它返回縮放到設備密度的像素值。因此,我們可以使用該方法而不涉及器件的密度,這最終意味着與密度無關的像素。

+0

那麼像素還是DP?你的回答也很混亂。 MotionEvent.getY()返回不是DP的像素。 – Softlion

+0

像素........ – Bob