安卓S3布局与Galaxy Nexus布局的区别

6
我开发了一个应用程序,旨在针对Galaxy Nexus和Galaxy S3。两者都具有720 x 1280的屏幕分辨率,并且我在应用程序中仅使用了“dp”值。资源存在于“layout-xhdpi”和“drawable-xhdpi”文件夹中。Nexus的布局看起来非常好,但是S3上的填充值(以dp为单位)略有偏差。我认为这是因为S3的屏幕尺寸更大并且密度不同所致。
如何为Nexus和S3创建单独的文件夹,以便考虑到不同的屏幕尺寸?
4个回答

9

使用以下方案:

横屏和竖屏相同布局 layout-sw360dp

仅用于横屏 layout-sw360dp-land

仅用于竖屏 layout-sw360dp-port

我想说的是,您可以在创建具有这些名称的文件夹时使用前面的分类。其中包含的布局将加载到Galaxy S3 - WXGA720中。这是区分此类设备的布局的一种方式。需要Android 4.0+。


我有那个文件夹,但还没有被使用。 - Mikey

5
我使用sw360dp-long,系统将用于GS3,而我使用sw360dp用于Galaxy Nexus。

1
完美运行。对于Galaxy S3,请使用“sw360dp-long”,对于所有其他类似的设备,请使用“sw360dp”。 - uniruddh

2

Nexus 4: 使用sw384dp(768x1280)

Samsung S3: 使用sw360dp(720x1280)

需要注意的是,两者都属于sw360dp桶,但有些开发人员可能需要做到像素完美,因此可能需要使用384文件夹,但如果您能使用LinearLayout和“weight”而不是硬编码dp单位设计更灵活的布局,则应避免使用它。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接