我正在实现一个应用程序,我想支持所有屏幕尺寸。我有 4 个布局文件夹:layout、layout-small、layout-large 和 layout-xlarge。
哪种屏幕尺寸支持标准布局文件夹?甚至有必要吗?
哪种屏幕尺寸支持标准布局文件夹?
在您的情况下,这将取决于哪些文件在哪些目录中。
假设您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/)来在更大的屏幕尺寸上使用布局。
但是,这只是我的特殊风格,欢迎您在上面描述的使用规则范围内做您想做的事情。
使用现代符号是更好的解决方案:
/layout // for phones
/layout-sw600dp // for 7 inch tablets
/layout-sw720dp // for 10 inch tablets
在流行:
Mdpi 屏幕智能手机很便宜 Hdpi 屏幕智能手机很贵。
如果您仅使用布局 mdpi 文件夹,则此布局将用于所有屏幕
传奇:
layout-small = ldpi
layout = mdpi
layout-large = hdpi
layout-xlarge = xhdpi