我正在实施一个应用程序,我想支持所有屏幕尺寸。我有4个布局文件夹:layout,layout-small,layout-large和layout-xlarge。
哪种屏幕尺寸支持标准版面文件夹?它甚至是必要的吗?
答案 0 :(得分:2)
哪种屏幕尺寸支持标准版面文件夹?
在您的情况下,它将取决于哪些文件在哪些目录中。
假设您main.xml
中有layout/
,而其他三位候选人中没有setContentView(R.layout.main)
。然后,layout/
将使用main.xml
中的副本。
现在,假设您在layout-xlarge/
中添加了-xlarge
的修订版本。在layout-xlarge/
设备上,Android将使用main.xml
版layout/
,而在其他屏幕尺寸上,Android将使用main.xml
版main.xml
。< / p>
现在,假设您添加了第三个layout-small/
版本,这次是layout-xlarge/
。对于main.xml
设备,Android仍会使用-xlarge
layout-small/
的{{1}}副本。但是,所有其他设备都将使用layout/
,而main.xml
的{{1}}副本将被忽略。 Android不会尝试从较大的尺寸缩小布局(例如,-xlarge
设备上的-normal
布局),但它会尝试从较小的尺寸扩展布局(例如,{{1 -small
设备上的布局。
我倾向于使用-normal
:
layout/
设备上使用的布局(因为我很少支持-normal
)然后我使用-small
,layout-large/
或他们的Android 3.1+替代品(例如,layout-xlarge/
)来在更大的屏幕尺寸上使用布局。
然而,这只是我的特殊风格,欢迎您按照上述使用规则做您想做的事。
答案 1 :(得分:1)
使用现代符号是更好的解决方案:
/layout // for phones
/layout-sw600dp // for 7 inch tablets
/layout-sw720dp // for 10 inch tablets
答案 2 :(得分:0)
流行:
Mdpi屏幕智能手机很便宜 Hdpi屏幕智能手机很贵。
如果仅使用布局mdpi文件夹,则此布局将用于所有屏幕
图例:
layout-small = ldpi
layout = mdpi
layout-large = hdpi
layout-xlarge = xhdpi