[英]How to add icon to the items in the overflow menu in the action bar
Part of the code in my menu.xml
is: 我的
menu.xml
部分代码是:
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
android:icon="@drawable/icon"
app:showAsAction="never"/>`
However, the icons don't show in the app. 但是,图标不会显示在应用程序中。 What is my mistake?
我怎么了
I guess this might solve you problem, try it out.. 我想这可能会解决您的问题,请尝试一下。
In onPrepare callback of menu after menu creation, you just do this for all the menu items, before returning it back again 创建菜单后,在菜单的onPrepare回调中,只需对所有菜单项都执行此操作,然后再次返回
menu.clear();
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.'your_menu_resource', menu);
int length = menu.size();
for(int i = 0; i < length ; i++){
MenuItem item = menu.getItem(i);
item.setIcon('your_resource_identifier')
}
return super.onPrepareOptionsMenu(menu);
In your menu xml, use the following syntax to nest menu, you will start getting the menu with icons 在菜单xml中,使用以下语法嵌套菜单,您将开始获取带有图标的菜单
<item
android:id="@+id/empty"
android:icon="@drawable/ic_action_overflow"
android:orderInCategory="101"
android:showAsAction="always">
<menu>
<item
android:id="@+id/action_show_ir_list"
android:icon="@drawable/ic_menu_friendslist"
android:showAsAction="always|withText"
android:title="List"/>
</menu>
</item>
If you want icon you need to change the value of ShowAsAction="never" to ShowAsAction="always" 如果需要图标,则需要将ShowAsAction =“ never”的值更改为ShowAsAction =“ always”
Try the next code. 尝试下一个代码。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.MainActivity" >
<item
android:id="@+id/menu_item_options"
android:icon="@drawable/ic_config"
android:title="@string/action_settings"
app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_config"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="always"/>
<item
android:id="@+id/action_close"
android:orderInCategory="100"
android:title="@string/action_close"
app:showAsAction="ifRoom"/>
</menu>
</item>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.