Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何选择标准Android菜单图标?_Android - Fatal编程技术网

如何选择标准Android菜单图标?

如何选择标准Android菜单图标?,android,Android,我想根据手机当前运行的安卓版本选择标准安卓菜单图标 图标示例: 记住我不需要可绘制文件为此,我需要基于设备API的正确图标 这可能吗?看看,你必须使用android.R.drawable。才能使用它们。使用drawable有什么问题?图标是可绘制的。如果您使用R.android.drawable.drawables,您将获得基于手机的相应图像(Sense、stock android 2.0、stock android 2.3等)。android.R.ic\u更多资源或其他什么?除非您的所有菜单

我想根据手机当前运行的安卓版本选择标准安卓菜单图标

图标示例:

记住我不需要可绘制文件为此,我需要基于设备API的正确图标


这可能吗?

看看,你必须使用android.R.drawable。才能使用它们。

使用drawable有什么问题?图标是可绘制的。如果您使用
R.android.drawable.
drawables,您将获得基于手机的相应图像(Sense、stock android 2.0、stock android 2.3等)。

android.R.ic\u更多资源或其他什么?除非您的所有菜单图标都来自操作系统,否则您不想走这条路。设备制造商可以并且确实更改这些图标。如果你所有的图标都来自操作系统,那么它们都是一致的。但是,如果你把一些操作系统图标和你自己的图标混在一起,那么它们将不一致(你的外观与X设备的外观不同),你的应用程序将看起来不专业。应用程序内部的一致性比设备外部的一致性更重要。因此,如果你有自己的图标,请将你想要的Android图标复制到你的项目中。相关帖子-,&我认为你不应该这样做,不能保证在未来版本的Android drawables中会存在同名图标。您应该将可绘制内容复制到您自己的项目中,并在必要时添加特定于API版本的版本。@Joseph:嗯,不。复制它们完全是错误的方法-您必须从每个可能的Android版本(它们不断变化)和每个可能的自定义UI(Sense、MotoBlur、TouchViz)获取它们。它们是在androidsdk()中定义的,因此它们保证会保留下来。不幸的是,这意味着您必须将某些菜单图标复制到项目中(我认为刷新就是其中之一)才能使用它们。@Josepharl是对的,而您,EboMike,绝对是错的。你的方法完全是错误的,正如谷歌在文档中所说:
因为这些资源可以在平台版本之间更改,所以你不应该使用Android平台资源ID(即Android.R.drawable下的菜单图标)引用这些图标。如果要使用任何图标或其他内部可绘制资源,应在应用程序资源中存储这些图标或可绘制资源的本地副本,然后引用应用程序代码中的本地副本。
@EboMike也许可以保证这些名称的文件将存在,但是你不能保证它们的尺寸/长宽比等!