标准的Android菜单图标,例如刷新。

219

Android SDK通过android.R.drawable.X提供标准菜单图标。然而,一些标准图标,如ic_menu_refresh(刷新图标),在android.R中缺失。

有没有办法获取原始图标,也许是从应用程序中提取它们?我已经检查了Android源代码,但要在所有地方查找这些图片实在太麻烦了。

我知道Android Drawables网站,但我想获取正确的hdpimdpildpi版本,最好是原始版本。


1
请查看这个链接,它是由谷歌提供的:https://design.google.com/icons/ - Atul
5个回答

208

没关系,我在源代码中找到了它:base.git/core/res/res 和其子目录。

正如其他评论所说,如果您已安装Android SDK,则它也在您的计算机上。路径为[SDK]/platforms/android-[VERSION]/data/res


60
它们也存在于你的开发机器上,在你的 SDK 安装中。 - CommonsWare
1
哦,你说得对,它们确实是。谢谢,现在我觉得自己下载了git仓库很傻 ^^ - poke
49
例如,在ANDROID_SDK/platforms/android-2.1/data/res/drawable-hdpi中。 - Macarse
@poke 我们如何在xml文件中使用sdk文件夹中的图标?因为[at]drawable不适用于它。 - h8pathak
@h8pathak 你可以将它们复制到你的项目中 ;) 至少这是我通常做的。 - poke
显示剩余2条评论

99
请注意,这是一个做法,Google明确建议不要这样做:
警告:由于这些资源可能会在平台版本之间发生变化,因此您不应使用Android平台资源ID(即android.R.drawable下的菜单图标)引用这些图标。
相反,建议您制作本地副本:
如果您想使用任何图标或其他内部可绘制资源,则应将这些图标或可绘制资源的本地副本存储在应用程序资源中,然后从应用程序代码中引用本地副本。通过这种方式,即使系统的副本发生更改,您也可以控制自己的图标外观。

11
没错,我只是想让楼主知道他们一开始就应该使用本地副本而不是引用。 - DMags
2
为此,一些人制作了一个简单的图标浏览/复制工具,以便轻松地从SDK中复制图标到您的项目中:https://bitbucket.org/simendsjo/android-icon-utils - Nilzor
@Nilzor,这个工具似乎被添加了XXXhigh图标破坏了。将它指向API22 SDK会导致错误。对于旧的SDK仍然可以使用。 - codah

45

可能有点晚了。补充其他答案,您可以在以下位置找到hdpi刷新图标:

"android_sdk"\platforms\"android_api_level"\data\res\drawable-hdpi\ic_menu_refresh.png


24

6
您可以从Android SDK中获取这些图标,它们存放在以下文件夹中:$android-sdk\platforms\android-xx\data\res。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接