2012-07-28 176 views
6

我開發了一款應用程序,該應用程序應該既用於Galaxy Nexus也用於Galaxy S3。兩者都有720 x 1280的屏幕分辨率,我只在應用程序中使用了'dp'值。資源存在於'layout-xhdpi'和'drawable-xhdpi'文件夾中。在Nexus上佈局看起來非常好,但是S3上的填充值(在dp中)略有偏差。我假設它是因爲S3上的屏幕更大,密度不同。Android S3佈局與Galaxy Nexus佈局

如何爲Nexus和S3創建單獨的文件夾,以便我可以考慮不同的屏幕尺寸?

回答

0

您可以獲取設備型號並設置佈局。

正如下面你可以得到模型

String phoneModel = android.os.Build.MODEL; 
if(phoneModel.equals("ABC")) { 
    // SET Ralated Layout 
} else if(phoneModel.equals("XYZ")) { 
    // SET Ralated Layout 
} 
+2

當然有更好的方法來做到這一點。我需要更改xml而不是java代碼。 – karlstackoverflow 2012-07-29 00:53:23

+0

O.K.但你能告訴我倒票的原因嗎? – 2012-07-29 19:35:02

9

使用此方案:

對於相同的佈局在橫向和縱向佈局sw360dp

僅用於景觀佈局sw360dp土地

僅適用於肖像layout-sw360dp-port

我試着說你可以使用之前的分類創建具有這些名稱的文件夾。位於的佈局在Galaxy S3 - WXGA720中加載。這是爲這種類型的設備添加布局的一種方法。其必備的Android 4.0+。

+0

我有那個文件夾仍然沒有使用 – Mikey 2012-11-20 06:15:04

5

我使用sw360dp-long系統將用於GS3,我使用sw360dp作爲Galaxy Nexus。

+0

這不起作用在我的情況下..我不得不使用sw384dp – whyoz 2014-01-30 19:46:09

+1

完美的工作。對於galaxy s3,使用'sw360dp-long'並且對於所有其他類似設備使用'sw360dp.' – astuter 2014-05-13 08:27:03

2

的Nexus 4:使用sw384dp(768x1280)

三星S3:使用sw360dp(720x1280)

應當注意的是不要落入sw360dp桶,但一些開發商可能需要做的事情像素完美,所以可能需要384文件夾,但應該避免,如果你可以使用LinearLayout和「weight」設計更靈活的佈局,而不是硬編碼dp單元。