【问题标题】:Mipmaps vs. drawable folders [duplicate]Mipmaps与可绘制文件夹[重复]
【发布时间】:2015-03-19 20:34:30
【问题描述】:

我正在使用 Android Studio 1.1 Preview 1。我注意到,当我创建一个新项目时,我得到以下层次结构:

不同 DPI 的 Mipmap 文件夹,不再有不同 DPI 的可绘制文件夹。

我应该将所有资源放在 mipmap 文件夹中,还是只放在应用程序图标中?

【问题讨论】:

  • 从下面的 google blog spot 链接中查看此声明:- "...因为它们的使用分辨率与设备的当前密度不同。例如,xxxhdpi 应用程序图标可用于xxhdpi 设备的启动器。”这表明某些设备明确尝试使用不同密度的图标,而不是当前设备密度指定的图标。例如。一些制造商可能喜欢在主屏幕中使用比启动器屏幕更大的图标,或者比通常规格更小的通知图标。因此,我们必须识别这些资源并将它们放在 mipmap 文件夹中。
  • 以上评论只是对我理解的假设,可能是错误的。
  • 这里有更多的信息 --> mipmap drawables for icons
  • Google 应该添加一个 Lint 快速修复来将应用图标放在那里。我在这里发了一个帖子:code.google.com/p/android/issues/detail?id=219500

标签: android android-drawable mipmaps


【解决方案1】:

mipmap 文件夹仅用于放置您的应用程序/启动器图标(显示在主屏幕上)。您使用的任何其他可绘制资源都应像以前一样放在相关的可绘制文件夹中。

根据this Google blogpost

最好将您的应用图标放置在 mipmap- 文件夹(而不是 drawable- 文件夹)中,因为它们使用的分辨率与设备的当前密度不同。

在引用 mipmap- 文件夹时,请确保您使用的是以下引用:

android:icon="@mipmap/ic_launcher"

他们使用不同密度的原因是一些启动器实际上显示的图标比他们预期的要大。因此,他们使用下一个尺寸。

【讨论】:

  • 为了澄清,引用部分中的“应用程序图标”是指启动器图标,不一定是其他图标。
  • “因为它们使用的分辨率与设备的当前密度不同”这到底意味着什么?这是此版本中最神秘的短语之一。
  • 当您在代码中使用它们时,请确保您使用的是 (R.mipmap.icon_name) 而不是 (R.drawable.icon_name)。
  • @southerton 当请求来自 drawable 的资源时,会从文件夹中选择与当前密度匹配的位图。例如,Nexus 5 从 XXHDPI 中选择可绘制对象。启动器可以从不同的文件夹中选择一个图标。 Nexus 5 启动器使用来自 XXXHDPI 的图标。 stackoverflow.com/questions/25131077/…
  • @southerton 他们使用不同密度的原因是一些启动器实际上显示的图标比他们预期的要大。因此,他们使用大一号。
猜你喜欢
  • 2015-12-07
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多