不同的屏幕尺寸的不同布局

时间:2014-09-02 06:31:18

标签: android

我完成了为我的项目开发(应用程序部分)应用程序,但现在我的布局有问题。我创建了以下文件夹并编辑了xml文件: 布局(默认) 布局大 布局正常 布局小 layout-xlarge

在我的智能手机(Galaxy S Advance - 屏幕800x480)上,布局正常,同事的智能手机(HTC MINI ONE - 屏幕720x1280)应用程序没有得到合适的布局。在这两种情况下(我的智能手机和同事的智能手机),Android加载布局正常。

怎么了?

谢谢

4 个答案:

答案 0 :(得分:2)

您可以为不同的屏幕宽度创建不同的布局,而不是仅创建小型和大型dpi文件夹,在此方法中,您将只有一个drawable文件夹包含所有资源和多个{{1 }}文件夹,主要名为布局,包含默认布局,以便在未在另一个布局文件夹中找到它时运行指定的布局,并且文件夹层次结构如android developers page就像:

layout

例如,如果你想要一个340dp屏幕宽度的自定义布局,你将在res文件夹中创建res/layout/main_activity.xml # For handsets (smaller than 600dp available width) res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 文件夹,所以它就像

layout-sw340dp

并且程序将根据设备宽度自动将布局分配给相应的文件夹。

答案 1 :(得分:2)

请注意布局的屏幕密度。即使您将布局文件放在适当的布局容器中,但这并不意味着Android会尊重文件夹,因为密度在Android选择正确的layout.xml文件的方式中也起着重要作用。

任何小于5英寸的设备都将属于sw320dp类别,您的解决方案就是创建名为layout-sw320dp-ldpilayout-sw320dp-mdpilayout-sw320dp-hdpi,{{1}的单独文件夹}和layout-sw320dp-xhdpi并将相应的xml文件放入其中。

同样,您可以使用上述屏幕密度来处理其他屏幕尺寸,例如layout-sw320dp-xxhdpilayout-sw600dp等。

答案 2 :(得分:0)

当您提供布局 - 大型布局 - 正常布局 - 小布局 - xlarge 4布局类别时。布局文件夹(没有任何限定符)将是无用的。所有设备都将落入其他4个屏幕桶中。

根据您的说明,我猜您应该从资源中删除layout-normal文件夹。

此外,正常,大和其他两个只是"范围"。如果您想要更精确地控制屏幕尺寸,可以使用layout-sw

答案 3 :(得分:0)

请删除您的应用程序的loyout文件夹Besouse布局文件夹将无用

Galaxy S Advance - 屏幕800x480 layout-hdpi

对于分辨率为720 * 1280的设备,您可以使用layout-w720-h1280文件夹