我的所有图片都在drawable-hdpi文件夹中。我完成了所有屏幕尺寸的布局。但我忘了把图像放在drawable-mdpi文件夹和drawable-ldpi文件夹中。如果具有mdpi屏幕密度的手机要下载我的应用程序,它只会使用drawable-hdpi文件夹中的图像吗?或者是否会因为mdpi文件夹中没有图像而发生错误?
mdpi和ldpi文件夹中的唯一图像是图标。
答案 0 :(得分:11)
手机会从他们可用的地方拍摄图像。结果将与只有一个“drawable”文件夹相同,如果你只有一个可绘制的文件夹,它就不是一个逻辑名。
您不必为每个配置提供资源,系统只需要使用最适合的,并且足够聪明地完成这项工作。您应该阅读它以完全理解它是如何工作的:http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch
答案 1 :(得分:6)
Lyrkan大多是正确的。 Mdpi手机将从drawable-hdpi文件夹中获取图像。但是系统知道这些图像对于手机来说太大了并且为你缩小了尺寸。
您的大多数用户都不会注意到。唯一的问题是,在具有mdpi或ldpi屏幕的手机上,所有图像都会变得有点模糊,因为它们会在运行时按比例缩小以匹配其他屏幕分辨率。
答案 2 :(得分:2)
从链接 http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch
"当根据屏幕尺寸限定符选择资源时,如果没有更好匹配的资源(例如,大尺寸屏幕将使用),系统将使用为小于当前屏幕的屏幕设计的资源正常大小的屏幕资源(如有必要)。但是,如果唯一可用的资源大于当前屏幕,则系统将不使用它们,如果没有其他资源与设备配置匹配,则应用程序将崩溃(例如,如果所有布局资源都使用xlarge限定符标记,但是设备是正常大小的屏幕。)"
但是我也从这个链接https://developer.android.com/guide/practices/screens_support.html#support
中找到了"但是,当系统正在查找特定于密度的资源但未在密度特定的目录中找到它时,它不会总是使用默认资源。系统可以改为使用其他密度特定资源中的一个,以便在缩放时提供更好的结果。例如,当寻找低密度资源并且它不可用时,系统倾向于缩小资源的高密度版本,因为系统可以轻松地将高密度资源缩放到低密度资源。与将中密度资源缩放0.75倍相比,因子为0.5,伪影更少。"
答案 3 :(得分:1)
您可以将图像保留在一个文件夹中,所有手机都可以使用它。如果您需要为不同的设备加载不同的图像,则使用不同的文件夹。实际上,设备将开始查找与其密度相关的文件夹,如果找不到可用的图像,它将在其他文件夹中查找。 使用不同的文件夹为不同的密度加载不同的图像。如果您不需要此功能,请将所有图像保留在一个文件夹中,无论哪个。