关于drawable-hdpi,drawable-mdpi,drawable-ldpi和drawable的混淆

时间:2012-01-12 09:27:02

标签: android android-layout drawable android-gui

我正处于一个非常大的项目中,这个项目在Android 1.5的时候就开始了。

这个项目随着android的发展而演变,此时支持2.3及以上。

现在我遇到了这个问题我在drawable-hdpi,drawable-mdpi,drawable-ldpi以及drawable文件夹中都有很多drawable。

一般来说,这3个文件夹(drawable-hdpi,drawable-mdpi,drawable-ldpi)的概念对我来说很清楚,但我的混淆来自可绘制文件夹中的图像。

例如我有一个名为myimage.png的图像,此图像存在于drawable-hdpi,drawable-mdpi,drawable-ldpi文件夹中,分别为72x72,48x48,36x36,但此图像也存在于drawable文件夹中。< / p>

我的问题是为什么?何时使用可绘制文件夹中的图像?这张图片忘了被删除吗?在某些情况下使用它?我试图删除此图像,应用程序工作正常。我也只放了一个分辨率为72x72的绿色,这个图像从未被绘制

那么有人可以澄清一下drawable文件夹的存在吗?

我知道如果我没有dhpi,mdpi和ldpi文件夹,那么我需要将图像放在drawable中,但当这3个文件夹存在时,drawable中的图像点是什么?

由于

修改

还有一个问题,如果我在drawable-hdpi中有图像但在ldpi中没有图像而不是我的mdpi怎么办?假设我们的手机具有mdpi分辨率......会发生什么?

5 个答案:

答案 0 :(得分:3)

drawable folder用于默认图像,如果在相应文件夹中找不到图像,则会查看可绘制文件夹。

我在文档中找到了这句话:

  

例如,假设您有一个应用程序图标icon.png,并且需要针对不同区域设置的唯一版本。但是,有两种语言环境,   英语 - 加拿大语和法语 - 加拿大语,需要使用相同的版本。   您可能认为需要将相同的图像复制到   英语 - 加拿大语和法语 - 加拿大语的资源目录,但是   这不是真的。相反,您可以保存用于两者的图像   icon_ca.png(除icon.png以外的任何名称)并将其置于默认值   res / drawable /目录。然后在中创建一个icon.xml文件   res / drawable-en-rCA /和res / drawable-fr-rCA /指的是   icon_ca.png资源使用该元素。这允许你   只存储一个版本的PNG文件和两个小的XML文件   指向它。 (示例XML文件如下所示。)

请参阅此link以获得更明确的信息。

答案 1 :(得分:0)

AFAIK如果您拥有不同分辨率图像的所有三种类型的文件夹(drawable-hdpi,drawable-mdpi,drawable-ldpi),则不需要可绘制文件夹。

答案 2 :(得分:0)

根据我在Android 1.5和2.0上运行应用时遇到的情况,如果在任何版面中使用的图片在文件夹中都不可用&#39; drawable&#39;然后项目给出错误&#34;资源未找到&#34;即使图像存在于其他hdpi,mdpi或ldpi文件夹中。

答案 3 :(得分:0)

这不是关于其他限定符的密度,但在大多数情况下我们不会使用它们。对于限定符列表,请选中herehere。你可以使用-finger -language ...等限定符。如果您想提供限定符默认资源[在本例中为drawable],您可以选择默认的drawable文件夹。或许多默认文件夹中没有添加限定符

答案 4 :(得分:0)

我认为page可以帮助您更好地理解。感谢你的提问。我,我自己,不知道答案。基本上你有4个不同的版本,如果不存在完全匹配的版本,则使用默认版本(没有限定符)。