2015-03-02 55 views
0

我已經開發了一個Android應用程序通過Eclipse的仿真器(5.4" )。Android的設計多平臺(像素DP)

我已經測試了這個程序,並一切正常,但我想,以適應我的應用程序針對不同的智能手機的尺寸和不同的平板電腦的尺寸 我已經創建了一些文件夾的'值'與不同的後綴,如'-ldpi''-mdpi''-hdpi''-xhdpi'其中包含'dimens.xml'文件在每個元素的佈局中使用'dp'代表每個元素的'dp'值。

此外,我有一個pdf,其中包含每個元素必須使用的像素數量,但我不知道如何使用它們。是在1280x720像素,但我不知道如何在我的應用程序中爲每個'dimens.xml'文件(ldpi,mdpi,hdpi,xhdpi)調整像素數量。

例如,如果設計的寬度爲720像素且按鈕的像素爲50像素,那麼根據密度,每個「維度」文件中必須放置多少個「dp」?

我發現它轉換我DP的數量從一個密度等一些網應用程序,但我不知道如何適應像素DP和我必須使用什麼樣密度參考...

我希望你能幫助我!

感謝的xD

編輯:

我得到了一個不錯的結果對我的智能手機是XHDPI。現在的模擬器是MDPI我把 '價值觀MDPI/dimens.xml' 的DP(X2)對於XHPDI以下規則:

密度:

LDPI | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi

0.75 | | 1.33 | 1.5 | | 3 | 4

float dp = somePxValue/density;

但是視覺效果不一樣,是不正確的。爲什麼?

我一直在測試,並獲得在模擬器MDPI應用程序的相同方面比我的智能手機XHDPI必須遵循以下關係:

DP(MDPI)= DP(XHDPI)X 1.35

任何人都可以向我解釋爲什麼這樣嗎?

+0

我在過去的幾個月裏遇到了同樣的問題。我確實遵循了這一點。 http://stackoverflow.com/a/2025541/1602281 – rahultheOne 2015-03-02 16:48:48

+0

你可能想嘗試這個轉換器:http://labs.rampinteractive.co.uk/android_dp_px_calculator/或檢查這個stackoverflow帖子:http://stackoverflow.com/questions/4605527/conversion-pixels-to-dp – 2015-03-02 16:49:46

+0

按比例因子的0.75:1:1.5:2:3:4規則。 1正在** mdpi ** – 2015-03-02 16:52:41

回答

1
private int pxToDp(int px) 
{ 
    float density = getApplicationContext().getResources().getDisplayMetrics().density; 
    return Math.round((float)px/density); 
}