2

我有一个菜单,其中包含一个带有 sdk 附带图标的项目(来自 skd/platform/...)。在 ICS 中它显示得很好(深色操作栏,浅色图标),但在 android 2.2 中,您看不到图标,因为默认主题是白色的,图标也是如此。有没有办法访问android默认图标,比如使用搜索栏时,图标在所有android版本上都正确显示?有没有办法访问android默认图标?

4

3 回答 3

9

如果您在 XML 中定义菜单,那么这样的操作将确保始终从相应的 SDK 可绘制对象中获取图标。

<item
    android:id="@+id/menuID"
    android:icon="@android:drawable/ic_menu_add"
    android:showAsAction="always"
    android:title="Some Label">
</item>

如果您在 Java 代码中添加菜单项,应该这样做:

menu.add(1, 1, 1, "Some Label").setIcon(android.R.drawable.ic_menu_add);

注意:您应该检查您打算使用的图标是否在所有平台上都是通用的,以确保为您的用户提供统一且无错误的功能。

于 2013-01-23T13:04:23.307 回答
1

是的,这里使用 android 首选项/设置图标作为其图标的菜单项。

<item
    android:id="@+id/menu_settings"
    android:icon="@android:drawable/ic_menu_preferences"
    android:orderInCategory="100"
    android:showAsAction="always|withText"
    android:title="@string/menu_settings"/>

有关图标的完整列表,请查看 R.drawable 类的文档。

http://developer.android.com/reference/android/R.drawable.html

对于查看所有图标的应用程序,请参阅 如何预览 R.drawable.* 图像

于 2013-01-23T13:03:01.213 回答
0

首先将 actionOverFlowButtonStyle 添加到您的主题中

 <style name="AppTheme" parent="AppBaseTheme">

        <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    </style>

定义流按钮的新样​​式

<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_menu</item>
</style>
于 2018-03-09T05:24:27.497 回答