2013-01-23 118 views
1

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

回答

8

如果你是在一个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); 

注意:您应该检查,如果你打算使用的图标是跨越所有平台通用确保为用户提供统一,无误的功能。

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

+0

谢谢你,有没有办法看到每个图标? – fanboy555

+0

设置或图标的名称如下所示: 。 。 。 – fanboy555

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>