我正在实现一个应用程序,我想支持所有屏幕尺寸。我有 4 个布局文件夹:layout、layout-small、layout-large 和 layout-xlarge。
哪种屏幕尺寸支持标准布局文件夹?甚至有必要吗?
哪种屏幕尺寸支持标准布局文件夹?
在您的情况下,这将取决于哪些文件在哪些目录中。
假设您main.xml
在 中layout/
,而不是其他三个候选人中的任何一个。然后,setContentView(R.layout.main)
将使用layout/
.
现在,假设您添加了main.xml
in的修订版本layout-xlarge/
。在-xlarge
设备上,Android 将使用 的layout-xlarge/
版本main.xml
,而在其他屏幕尺寸上,Android 将使用 的layout/
版本main.xml
。
现在,假设您添加了第三个main.xml
版本,这次是在layout-small/
. Android 仍将使用for devices的layout-xlarge/
副本。但是,所有其他设备都将使用,而 的副本将被忽略。Android 不会尝试从较大尺寸缩小布局(例如,设备上的布局),但会尝试从较小尺寸(例如,设备上的布局)扩展布局。main.xml
-xlarge
layout-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