我的menu.xml
中的部分代码是:
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
android:icon="@drawable/icon"
app:showAsAction="never"/>`
但是,图标不会在应用中显示。我的错是什么?
答案 0 :(得分:0)
我想这可能会解决你的问题,试一试..
在菜单创建后的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);
答案 1 :(得分:0)
在菜单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>
答案 2 :(得分:0)
如果你想要图标,你需要更改ShowAsAction的值=&#34;从不&#34; to ShowAsAction =&#34; always&#34;
尝试下一个代码。
<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>