图像和其他可视文件存储在一个或多个可绘制目录中。如果仅在一个目录中,Android 将根据需要缩放图像。如果使用多个目录,Android 将选择适当大小的图像。
- drawable-ldpi - 低密度图像
- drawable-mdpi - 中等密度图像
- drawable-hdpi - 高密度图像
- drawable-xhdpi - 超高密度图像(即类似视网膜的显示)
- drawable-xxhdpi - 超高密度图像(Nexus 10、三星 Galaxy S4、HTC One 和索尼 Xperia Z 等设备)
- drawable-xxxhdpi - 三倍超高密度图像(Nexus 6 和 9)
(旁注:XML 文件也可以作为可绘制对象写入和存储。这些类型的文件可以根据视图的状态或其他视觉设置(如渐变、边框等)控制何时使用多个图像。)
那么,你应该怎么做?
为获得最佳结果(来自Android 开发者文档):
要生成这些图像,您应该从矢量格式的原始资源开始,并使用以下大小比例为每个密度生成图像:
- xxxhdpi: 4.0
- xxhdpi: 3.0
- xhdpi: 2.0
- 高清:1.5
- tvdpi:1.33(仅限电视)
- mdpi:1.0(基线)
- 低密度脂蛋白:0.75
这意味着如果您为 xhdpi 设备生成 200x200 的图像,您应该为 hdpi 生成 150x150、tvdpi 的 133x133、mdpi 的 100x100、最后为 ldpi 设备的 75x75 的图像。
如果您只想使用一张图片并让 Android 为您扩展:
根据Android 开发者网站上的仪表板,现在超过 75% 的 Android 设备具有 hdpi 或更高的分辨率。因此,例如,如果您在 hdpi 上创建一个图像,它将在大约 1/3 的设备上看起来很完美,在某些设备上可以放大,在 25% 的设备上可以缩小。总的来说,我认为缩小规模比扩大规模要好。