我正在研究基於Galaxy S的應用程序。我知道Galaxy S的寬度是480像素,高度是800像素,但在DP中有多少?如何判斷「DP」中的屏幕分辨率?
可以說,如果我想有兩個佈局並排,我會讓他們設置爲240像素。但是,我怎麼知道我應該在DP單元中使用什麼值?
我正在研究基於Galaxy S的應用程序。我知道Galaxy S的寬度是480像素,高度是800像素,但在DP中有多少?如何判斷「DP」中的屏幕分辨率?
可以說,如果我想有兩個佈局並排,我會讓他們設置爲240像素。但是,我怎麼知道我應該在DP單元中使用什麼值?
將dip單位轉換爲屏幕像素很簡單:pixels = dips *(density/160)。例如,在240 dpi的屏幕上,1次下降等於1.5個物理像素。強烈建議使用dip單位來定義應用程序的UI,以確保在不同屏幕上正確顯示您的UI。
發現:http://developer.android.com/guide/practices/screens_support.html
[編輯] 我不得不用這個。使用DisplayMetrics.density
只返回0.75,1和1.5。使用DisplayMetrics.densityDpi
代替或更改數學爲pixels = dips * DisplayMetrics.density
我發現,DP
是根本不是分辨率,它是關於屏幕大小,因爲它是基於160dpi基準。一個簡單的方法來計算將是:ScreenSizeInInches
* 160
你的情況:
寬度以英寸= 480px/(240px/inch)
= 2 inches
高度以英寸= 800px/(240px/inch)
= 10/3 inches
檢查:sqrt(sqr(2) + sqr(10/3))
〜= 4 inches
這是Galaxy S的大小。
所以在dp的大小是(2 * 160) x (10/3 * 160)
= 320dp x 533.3dp
我是怎麼錯過的!非常感謝 :) – RobGThai 2010-08-21 16:24:19