自Android 4.3 (Jelly Bean)以来,我们现在可以使用res/mipmap
文件夹来存储“mipmap”图像。
例如,Chrome for Android将其图标存储在这些文件夹中,而不是更普通的res/drawable
文件夹中。
这些mipmap图像与其他熟悉的可绘制图像有何不同?
我在清单中看到,我们使用了@mipmap/
限定符,而不是@drawable/
,这对于给定的资源文件夹名称是有意义的:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Android 4.3 api文档有以下内容:
使用mipmap作为位图或可绘制对象的源是一个简单的方法 提供高质量图像和各种图像尺度的方法,都可以 特别有用,如果你希望你的图像缩放期间 动画。< / p > Android 4.2 (API级别17)在位图中增加了对mipmaps的支持 class-Android交换mip图像在你的位图,当你提供 一个mipmap源,并启用setHasMipMap()。在安卓4.3中, 你也可以为BitmapDrawable对象启用mipmaps 提供一个mipmap资产,并设置android: mipmap属性 . bitmap资源文件或调用hasMipMap()
我没有看到任何能帮助我理解的东西。
XML位图资源有一个android:mipMap
属性:
< p >布尔。启用或禁用mipmap提示。参见setHasMipMap() 更多的信息。 .默认值为false
据我所知,这并不适用于启动器图标。
这个问题是在谷歌Groups (< a href = " https://groups.google.com/forum/ !topic/android-developers/ZUyF0JEwibs" rel="noreferrer">资源名"mipmap"的用途?!< / >)上提出的,Romain Guy回答说:
提供一个更大分辨率的图像是有用的 通常被计算(例如,在mdpi设备上,Launcher可能被计算) 想要更大的hdpi图标来显示更大的应用程序快捷方式
我觉得这几乎说得通,但不完全是。
我仍然倾向于Randy Sugianto的后续观点:
这有什么好处?有使用指南吗 Mipmaps,可能是为了更好的启动器图标?< / p >
当然,维基百科有一个“Mipmap”的页面指的是1983年发明的一种更老的技术,我不能很好地与当前的Android实现联系起来。
这些天我们是否应该存储所有的在res/mipmap
文件夹中的应用程序图标,这些mipmap图像的的指导方针是什么?
Update # 1
这里有一篇博客文章试图解释一下。
但在那篇博客文章中使用的图像显示了一个包含许多标志的文件。这不是我在Chrome的mipmap文件夹中看到的。
Chrome的mipmap-hdpi
文件夹包含三张图片。一个是Chrome的logo。
奇怪的是,它是72x72,而不是我期望看到的48x48。
也许这就是全部——我们只需要在mipmap文件夹中保留更大的图标?
更新# 2
2014年10月23日的Android开发者博客文章再次确认了使用mipmap
文件夹作为应用程序图标的想法:
在谈到Nexus 6的屏幕密度时,作者写道:
最好的做法是把你的应用程序图标放在mipmap-文件夹中(不是mipmap-文件夹) 可绘制-文件夹),因为它们用于不同的分辨率 器件的电流密度。例如,xxxhdpi应用程序图标可以是 在启动器上用于xxhdpi设备
更新# 3
注意,Android Studio在mipmap...
文件夹中创建了ic_launcher.png
图标,而不是在Eclipse用来创建它们的drawable...
文件夹中。