【问题标题】:Android: how to use a single image resource for all pixel densities?Android:如何为所有像素密度使用单个图像资源?
【发布时间】:2012-12-13 21:05:59
【问题描述】:

我想将一张图片用作我的一个视图的背景图案。作为一种模式,它是平铺的,因此与分辨率无关:我希望图像中的一个像素在屏幕上显示为一个像素,无需缩放,无论设备的像素密度如何。

现在,我当然可以通过制作四个相同的图像副本并将它们放到我的 mdpi、ldpi、hdpi 和 xhdpi 目录中来做到这一点。但这似乎是多余和臃肿的。有没有办法告诉 SDK 在每种情况下都只使用一个图像?

谢谢。

【问题讨论】:

    标签: android android-drawable


    【解决方案1】:

    是的!您可以将它放在一个朴素的 drawable 目录中(与您指定密度的同级),或者更准确地说,将它放在 drawable-nodpi 中并从任何其他可绘制目录中省略它。

    系统将始终寻找最佳匹配,如果没有特定密度/尺寸/等的匹配。组合,它会回落到下一个最好的位置,直到它落在不合格的资源目录或(在你的情况下)说它适用于所有 DPI 的目录中。

    【讨论】:

    • 澄清一下,如果你把它放在drawable目录下,它会被缩放,而如果你把它放在drawable-nodpi它不会被缩放。
    • @kcoppock 嗯。我不知道。很高兴知道。
    • 是的,通用可绘制文件夹中的任何内容都假定为mdpi。在大多数情况下,您应该只对 XML 可绘制对象使用通用可绘制文件夹。
    • @Argyle 谢谢!在我搜索的任何地方,我都没有看到任何关于 nodpi 的信息。正是我想要的。
    • 是的,drawable 文件夹只是缩短了(drawable-mdpi),你应该使用 nodpi 文件夹。或者,我认为您也可以在引用相同位图的不同文件夹中创建 xml fike。
    【解决方案2】:

    有关 nodpi 和其他屏幕支持问题的更多信息,here's Android 文档的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-12
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多