3

我正在实现一个应用程序,我想支持所有屏幕尺寸。我有 4 个布局文件夹:layout、layout-small、layout-large 和 layout-xlarge。

哪种屏幕尺寸支持标准布局文件夹?甚至有必要吗?

4

3 回答 3

2

哪种屏幕尺寸支持标准布局文件夹?

在您的情况下,这将取决于哪些文件在哪些目录中。

假设您main.xml在 中layout/,而不是其他三个候选人中的任何一个。然后,setContentView(R.layout.main)将使用layout/.

现在,假设您添加了main.xmlin的修订版本layout-xlarge/。在-xlarge设备上,Android 将使用 的layout-xlarge/版本main.xml,而在其他屏幕尺寸上,Android 将使用 的layout/版本main.xml

现在,假设您添加了第三个main.xml版本,这次是在layout-small/. Android 仍将使用for devices的layout-xlarge/副本。但是,所有其他设备都将使用,而 的副本将被忽略。Android 不会尝试从较大尺寸缩小布局(例如,设备上的布局),但会尝试从较小尺寸(例如,设备上的布局)扩展布局。main.xml-xlargelayout-small/layout/main.xml-xlarge-normal-small-normal

我倾向于做的是layout/用于:

  • 不需要针对不同尺寸的不同版本的布局
  • 在设备上使用的布局-normal(因为我很少支持-small

然后,我使用layout-large/,layout-xlarge/或它们的 Android 3.1+ 替代品(例如layout-w720dp/)来在更大的屏幕尺寸上使用布局。

但是,这只是我的特殊风格,欢迎您在上面描述的使用规则范围内做您想做的事情。

于 2013-10-02T13:09:33.403 回答
1

使用现代符号是更好的解决方案:

/layout // for phones
/layout-sw600dp // for 7 inch tablets
/layout-sw720dp // for 10 inch tablets
于 2013-10-02T13:42:36.620 回答
0

在流行:

Mdpi 屏幕智能手机很便宜 Hdpi 屏幕智能手机很贵。

如果您仅使用布局 mdpi 文件夹,则此布局将用于所有屏幕

传奇:

layout-small = ldpi
layout = mdpi
layout-large = hdpi
layout-xlarge = xhdpi
于 2013-10-02T13:10:19.033 回答