来自另一个分辨率的getDrawable

时间:2016-02-26 11:16:48

标签: android android-drawable

如果我使用ldpi设备,是否可以从res/drawable-xxxdpi获取图像? 也就是说,R.drawable.sunmsg为我提供了当前dpi的图像链接。 我不想将资源从res/drawable-xxxdpi发布到res/drawable

2 个答案:

答案 0 :(得分:1)

Android比缩放较低分辨率的图像更倾向于缩小较大尺寸的图像(质量优先于尺寸/性能)。

因此,如果您使用的是mdpi设备,并且您已经在drawable-ldpidrawable-xxxhdpi中说出了一张图片,那么xxxhdpi将优于ldpi,即它首先搜索从mdpi到xxxhdpi的图像,直到找到图像。如果没有找到,它将开始降低分辨率,并作为最后的手段访问drawable文件夹。

所以在你的情况下,你基本上不需要做任何其他事情。只需将图像保存在drawable-xxxhdpi文件夹中,让android处理其余文件。

但这不可取,因为缩小更高密度的图像相当于解码更高分辨率的图像,然后将其缩小,因此它将是性能密集型的,从而破坏了Android配置替代配置相关资源背后的目的。 查看Size and density specific resources

有关详细文档,请查看android的How Android Finds the Best-matching Resource

答案 1 :(得分:1)

I have a open source project I have Hosted in github here.

  1. 只需运行该项目即可告诉您设备属性 设备和形成一个适当的文件夹结构目标 特定设备
  2. 例如,我在下面的设备中有一个以下文件夹结构 属性。
  3. 使用这些结构,您可以定位特定设备。
  4. 您可以设置多种组合 资源文件夹结构。 - check here in android developers site
  5. Check this link too
  6. 抽拉-sw360dp正常-HDPI

    enter image description here

    希望有所帮助!!