如何使用默认的Android可绘制

什么是使用默认Android可绘制的最佳方法? 我应该使用android.R.drawable还是应该复制drawables在我的项目中,并使用R.drawable

是否有任何风险,在Android的新版本中,一些默认的drawable被删除或resize? 或者,以一些负面的方式影响我的应用程序的外观? 另外,Android源代码中的哪些可绘图被认为是“稳定的”,应该依靠?

我宁愿不复制drawables,因为我认为应用程序的外观应该与所使用的Android版本一致。 所以,例如,对于版本1.6,它应该使用版本1.6的默认Android位图。

如果您仔细阅读了关于android开发小组的任何讨论,您将会看到他们不鼓励使用任何不在公共SDK中的内容,因为其余的内容都会有很大的变化。

Java用法示例: myMenuItem.setIcon(android.R.drawable.ic_menu_save);

资源使用示例: android:icon="@android:drawable/ic_menu_save"

据我记得,文档build议不要直接使用android.R.drawable中的菜单图标,并build议将它们复制到您的drawables文件夹。 主要原因是这些图标和名称可能会更改,可能在未来的版本中不可用。

警告:由于这些资源可以在平台版本之间更改,因此不应使用Android平台资源ID(即android.R.drawable下的菜单图标)引用这些图标。 如果要使用任何图标或其他内部可绘制资源,则应在应用程序资源中存储这些图标或绘图的本地副本,然后从应用程序代码中引用本地副本。 这样,即使系统的副本发生更改,也可以保持对图标外观的控制。

来自: http : //developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html

更好地复制并移动到自己的资源。 以前的Android版本可能无法使用某些资源。 这里有一个链接 ,每个Android版本都提供了所有的可绘图,这要归功于@fiXedd

要使用默认的Android可绘制资源,不需要复制任何东西..你可以直接导入它..

 import android.R; 

但是如果你想使用它,我会让你自己的资源会有一个错误。 错误将会是这样的:

R.无法解决

所以,我宁愿不要import android.R而是import *my.own.package*.R;

那么当我可以正常使用我自己的资源与R.drawable.*something*没有错误,并把android.R.*something_default*使用默认的Android资源。

更好地使用android.R.drawable,因为它是公开的和logging的。