2012-09-01 31 views
7

我是android新手。我讀到關於DP但是m仍然困惑。在一個定義中,它表示 - dp(密度獨立像素):基於屏幕密度的抽象單位。在每英寸160點的顯示器上,1dp = 1px。android定義密度獨立像素

它均值160點= 1個DP = 1個的160點之中PX(每個點爲1個像素,對嗎?) OR 1 DP = 1點(像素)

普萊斯澄清

+1

[this](http://stackoverflow.com/q/2025282/1465828)應該回答你的問題 – Aprian

回答

14

與密度無關的像素是一個虛擬像素單位,您應該在定義UI佈局時使用它來以密度無關的方式表示佈局尺寸或位置。

密度無關像素相當於160 dpi屏幕上的一個物理像素,它是系統爲「中等」密度屏幕假定的基準密度。在運行時,系統根據使用的屏幕的實際密度,根據需要透明地處理dp單位的任何縮放比例。的dp單位到屏幕像素轉換是簡單的:

px = dp * (dpi/160)

例如,240 dpi屏幕上,1個DP等於1.5物理像素。定義應用程序的用戶界面時,應始終使用dp單位,以確保在不同密度的屏幕上正確顯示您的用戶界面。

對於160 dpi屏幕1 dp等於1 px。

參考this博客和this答案。

0

android文檔說 -

與密度無關的像素相當於160 dpi屏幕上的一個物理像素,即平臺假定的基準密度(如本文後面所述)。在運行時,平臺根據所使用屏幕的實際密度,透明地處理所需dp單位的任何縮放比例。將dp單位轉換爲屏幕像素很簡單:像素= dps *(密度/ 160)。例如,在240 dpi屏幕上,1 dp將等於1.5個物理像素。強烈建議使用dp單位來定義應用程序的用戶界面,以此來確保在不同屏幕上正確顯示您的用戶界面。您可以查看supporting multiple screens。你也可以看看這個question

+0

什麼是每英寸點數DOT,我假設1點= 1像素,是不是?這條線讓我感到困惑 - 160 dpi屏幕上的一個物理像素鑑於它再次說明 - 在240 dpi屏幕上,1 dp將等於1.5個物理像素。 怎麼來1DP將等於1.5物理像素在這裏.. – Tanvir