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