【发布时间】:2012-12-13 21:05:59
【问题描述】:
我想将一张图片用作我的一个视图的背景图案。作为一种模式,它是平铺的,因此与分辨率无关:我希望图像中的一个像素在屏幕上显示为一个像素,无需缩放,无论设备的像素密度如何。
现在,我当然可以通过制作四个相同的图像副本并将它们放到我的 mdpi、ldpi、hdpi 和 xhdpi 目录中来做到这一点。但这似乎是多余和臃肿的。有没有办法告诉 SDK 在每种情况下都只使用一个图像?
谢谢。
【问题讨论】:
我想将一张图片用作我的一个视图的背景图案。作为一种模式,它是平铺的,因此与分辨率无关:我希望图像中的一个像素在屏幕上显示为一个像素,无需缩放,无论设备的像素密度如何。
现在,我当然可以通过制作四个相同的图像副本并将它们放到我的 mdpi、ldpi、hdpi 和 xhdpi 目录中来做到这一点。但这似乎是多余和臃肿的。有没有办法告诉 SDK 在每种情况下都只使用一个图像?
谢谢。
【问题讨论】:
是的!您可以将它放在一个朴素的 drawable 目录中(与您指定密度的同级),或者更准确地说,将它放在 drawable-nodpi 中并从任何其他可绘制目录中省略它。
系统将始终寻找最佳匹配,如果没有特定密度/尺寸/等的匹配。组合,它会回落到下一个最好的位置,直到它落在不合格的资源目录或(在你的情况下)说它适用于所有 DPI 的目录中。
【讨论】:
drawable目录下,它会被缩放,而如果你把它放在drawable-nodpi它不会被缩放。
mdpi。在大多数情况下,您应该只对 XML 可绘制对象使用通用可绘制文件夹。
有关 nodpi 和其他屏幕支持问题的更多信息,here's Android 文档的链接。
【讨论】: