我完成了为我的项目开发(应用程序部分)应用程序,但现在我的布局有问题。我创建了以下文件夹并编辑了xml文件: 布局(默认) 布局大 布局正常 布局小 layout-xlarge
在我的智能手机(Galaxy S Advance - 屏幕800x480)上,布局正常,同事的智能手机(HTC MINI ONE - 屏幕720x1280)应用程序没有得到合适的布局。在这两种情况下(我的智能手机和同事的智能手机),Android加载布局正常。
怎么了?
谢谢
答案 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-ldpi
,layout-sw320dp-mdpi
,layout-sw320dp-hdpi
,{{1}的单独文件夹}和layout-sw320dp-xhdpi
并将相应的xml文件放入其中。
同样,您可以使用上述屏幕密度来处理其他屏幕尺寸,例如layout-sw320dp-xxhdpi
和layout-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文件夹