我正处于一个非常大的项目中,这个项目在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分辨率......会发生什么?
答案 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)
这不是关于其他限定符的密度,但在大多数情况下我们不会使用它们。对于限定符列表,请选中here和here。你可以使用-finger -language ...等限定符。如果您想提供限定符默认资源[在本例中为drawable],您可以选择默认的drawable文件夹。或许多默认文件夹中没有添加限定符
答案 4 :(得分:0)
我认为page可以帮助您更好地理解。感谢你的提问。我,我自己,不知道答案。基本上你有4个不同的版本,如果不存在完全匹配的版本,则使用默认版本(没有限定符)。