![](/img/trans.png)
[英]how to create new android xml file in drawable folder that does not have Drawable resource
[英]Does Android prefer the drawable folder if it first finds a resource there?
我将图像放在drawable文件夹中,并将其放在drawable-xhdpi
, drawable-mdpi
, drawable-hdpi
文件夹中。
我知道android使用的图像与屏幕密度兼容,但是我想知道如果drawable
文件夹中的图像相同,android是否将优先级赋予drawable
文件夹或将采用相同的方法,那么android将做什么?不会首先检查drawable
文件夹中的图像。
res/drawable/
是res/drawable-mdpi/
的同义词,表示从密度大的那一天开始就向后兼容。 放在res/drawable/
位图将被视为在res/drawable-mdpi/
。
这就是为什么这么多的开发人员在将位图放入res/drawable/
并称其为好状态时会-mdpi
-Android将其视为-mdpi
以获得更高的密度,通常会导致OutOfMemoryError
。
恕我直言,在res/drawable/
有位图是一种代码味道。
它倾向于最具体的。 因此,只有在另一个文件夹中没有替代时,它才会使用drawable文件夹。 drawable文件夹是放置诸如xml drawable之类的东西的好地方,这些东西通常不受dpi,屏幕尺寸等影响很大。
您可以查看官方文档 。
例如,以下是一些默认资源和替代资源:
res/
drawable/
icon.png
background.png
drawable-hdpi/
icon.png
background.png
hdpi限定符指示该目录中的资源用于具有高密度屏幕的设备。 这些可绘制目录中的每个图像的大小均根据特定的屏幕密度确定,但文件名完全相同。 这样,您用来引用icon.png或background.png图像的资源ID始终是相同的, 但是Android通过将设备配置信息与以下内容中的限定符进行比较,来选择与当前设备最匹配的每种资源的版本资源目录名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.