ActionBar /菜单默认图标

时间:2013-01-23 12:44:46

标签: android android-icons

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

3 个答案:

答案 0 :(得分:9)

如果您在XML中定义菜单,那么这样的内容将确保始终从相应的SDK drawable中选择图标。

<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);

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

答案 1 :(得分: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

对于查看所有图标的应用,请参阅 How to preview R.drawable.* images

答案 2 :(得分: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>