我必须在Android应用中管理不同的屏幕尺寸和不同的密度。 我没有正确地获得目录结构。
到目前为止我所了解的是屏幕尺寸有四种类型:
以及不同的密度:
现在每个设备的尺寸(小,正常,大和xlarge)应映射每个密度。因为每个尺寸都可以有不同的密度,对吧? 如果是,那么我们可以说小屏幕具有所有密度,即(ldpi,mdpi,hdpi,xhdpi) 相同的正常,大和xlarge。
关键是我将如何在可绘制的目录中管理它们。 是否有四个不同尺寸的小屏幕尺寸的文件夹(drawable-small-ldpi,drawable-small-mdpi,drawable-small-hdpi,drawable-small-xhdpi)?
同样适用于其他屏幕尺寸。
如果没有,那么我将如何管理(drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi)文件夹中的所有图像,因为不同的屏幕尺寸我将拥有不同尺寸的图像。那么如何在同一密度文件夹中管理具有不同密度的小型设备和具有不同尺寸的大型设备。
在阅读所有内容时,请不要给我任何Android文档的参考。
如果有人不明白我的意思,请告诉我。我很困惑。
答案 0 :(得分:5)
当我开始使用Android开发时,我对同样的问题感到困惑。但现在我已经弄清楚了,我做得很好。
无论如何,You are absolutely right
。您可以为每个文件夹提供4个文件夹的不同图片。i.e.: drawable-small-ldpi, drawable-small-mdpi, drawable-small-hdpi, drawable-small-xhdpi
But it is just waste of your time
。因为你不需要担心它.Android可以根据设备配置进行扩展/缩小。只为提供额外的图像 strong>你没有得到他们想要的输出。
据我所知,支持多种设备,您必须考虑few general criteria
。
密度限定符: ldpi,mdpi,hdpi,xhdpi,etc
通常,当您想要提供不同分辨率的图像时使用
尺寸限定符+定向限定符: small,normal,large,xlarge,sw600dp,normal-land,normal-port,etc
通常用于提供不同的版面设计。
即:单窗格布局,多窗格布局,根据不同屏幕尺寸布局中的不同元素。
供参考: Download the example app
来自here and try to understand
如何支持多个屏幕。
我希望它会有所帮助!!
答案 1 :(得分:1)
以下是有关此主题的官方文档:Supporting Multiple Screens然后Supporting Different Screen Sizes
答案 2 :(得分:0)
我总是把我的所有图像放在一个文件夹中(通常是xhdpi)。 Android系统会为您扩展它们,因此您不必担心放在什么文件夹中的内容。
这是Android对此的说法:
为不同的屏幕密度提供不同的位图可绘制
通过 默认情况下,Android会缩放您的位图drawables(.png,.jpg和.gif 文件)和Nine-Patch drawables(.9.png文件),以便它们呈现在 每个设备上适当的物理尺寸。例如,如果你的 应用程序仅为基线,中等提供位图可绘制 屏幕密度(mdpi),然后系统在a时将它们放大 高密度屏幕,在低密度时缩小它们 屏幕。此缩放可能会导致位图中的伪像。确保 你的位图看起来最好,你应该包括替代版本 针对不同屏幕密度的不同分辨率。该 配置限定符,可用于特定于密度的资源 是ldpi(低),mdpi(中),hdpi(高)和xhdpi(超高)。 例如,高密度屏幕的位图应该进入 抽拉-HDPI /.
您可以在此处找到文档:
https://developer.android.com/guide/practices/screens_support.html
希望这有帮助
答案 3 :(得分:0)
将所有图像放在所有不同的文件夹中,即drawable-hdpi,drawable-ldpi,drawable-mdpi,drawable-xhdpi和drawable-xxhdpi。 android会照顾它。