【发布时间】:2014-08-03 15:32:41
【问题描述】:
中性可绘制文件夹中应放置哪种尺寸的图像?
我有一个 5 个不同 版本的图标文件:
- 24x24 = ldpi
- 32x32 = mdpi
- 48x48 = hdpi
- 64x64 = xhdpi
- 96x96 = xxhdpi
另一方面,我有 6 个不同的文件夹:
- /可绘制
- /drawable-ldpi
- /drawable-mdpi
- /drawable-hdpi
- /drawable-xhdpi
- /drawable-xxhdpi
5 个文件和 6 个文件夹意味着要么一个文件夹必须保持空白(哪个?),要么一个文件必须使用两次?
docs 是这么说的:
如果没有匹配的资源可用,系统使用默认的 资源并根据需要向上或向下扩展以匹配当前 屏幕尺寸和密度
“默认”资源是那些没有标记的资源 配置限定符。例如drawable/中的资源是 默认的可绘制资源。系统假定默认 资源是针对基线屏幕尺寸和密度而设计的,这 是正常的屏幕尺寸和中等密度。如此一来,系统 为高密度屏幕向上和向下缩放默认密度资源 适用于低密度屏幕。
但是,当系统在寻找特定密度的资源时 并且在密度特定目录中找不到它,它不会 始终使用默认资源。系统可以改为使用以下之一 其他密度特定的资源,以便提供更好的 缩放时的结果。例如,在寻找低密度 资源并且它不可用,系统更喜欢按比例缩小 高密度版本的资源,因为系统可以轻松 将高密度资源缩小到低密度 0.5 倍, 与按比例缩放中等密度资源相比,工件更少 0.75 倍。
好的,mdpi 版本应该放在drawable-mdpi 中,ldpi 放在drawable-ldpi 中等等是没有问题的。但是哪个版本进入中性文件夹?
我应该把 xxhdpi 文件放在那里(如果没有找到匹配项则按比例缩小)? -xxhdpi 文件夹比呢?保持空白还是将文件也放在那里?
【问题讨论】:
-
在这里查看我的回答:stackoverflow.com/questions/19875158/…
-
@Haresh 谢谢,但链接的答案只是不同元素(背景、列表等)的不同大小的列表。这如何回答将哪个大小放在哪个文件夹中的问题?
-
你可以放置XML-drawables,它与屏幕大小无关。
-
在你的情况下“/drawable”这个文件夹保持为空。
-
嗯,如果“/drawable”为空,系统怎么知道哪个文件是默认资源?正如文档所说,系统假设“/drawable”中的文件是“为基线屏幕尺寸和密度设计的”。把mdpi文件放在这里,-mdpi文件夹留空不是更好吗?
标签: android android-layout user-interface drawable