2012-07-28 130 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单元。