当showAsAction =“ never”时,将图标添加到菜单项

时间:2019-07-04 15:46:03

标签: android xml menu

我在菜单中有项目,这是其中之一

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/settings"
    android:title="Settings"
    app:showAsAction="never"
    android:icon="@drawable/icon"/>

我的菜单显示如下……

My menu preview

但我希望图标像此菜单一样显示

target menu

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您必须在 onCreateOptionsMenu 中使用 MenuBuilder.setOptionalIconsVisible(true)

MenuBuilder m = (MenuBuilder) menu;
m.setOptionalIconsVisible(true);

答案 1 :(得分:1)

尝试像下面这样夸大您的菜单项,它对我有用:

    @SuppressLint("RestrictedApi")
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);

        if(menu instanceof MenuBuilder){
            MenuBuilder m = (MenuBuilder) menu;
            //noinspection RestrictedApi
            m.setOptionalIconsVisible(true);
        }

        return true;
    }

答案 2 :(得分:0)

您有2个解决方案

environment.js

或以编程方式添加菜单项

 < item
              android:id="@+id/action_add_contact"
              android:icon="@drawable/ic_icon"
              android:title="Add contact"
              app:showAsAction="ifRoom" />