Добавляйте значки в пункты меню, когда showAsAction = "never" - PullRequest
1 голос
/ 04 июля 2019

У меня есть пункты в меню, это один из них

<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

Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Попробуйте накачать свой пункт меню, как показано ниже, он работает для меня:

    @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;
    }
0 голосов
/ 04 июля 2019

У вас есть 2 решения

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

Или добавить пункты меню программно

   @Override
    public boolean onCreateOptionsMenu(Menu menu) {
//        getMenuInflater().inflate(R.menu.menu_patient_home_screen, menu);

        menu.add(0, 1, 1, menuIconWithText(getResources().getDrawable(R.mipmap.user_2), getResources().getString(R.string.action_profile)));
        menu.add(0, 2, 2, menuIconWithText(getResources().getDrawable(R.mipmap.add_user), getResources().getString(R.string.action_add_user)));
        menu.add(0, 3, 3, menuIconWithText(getResources().getDrawable(R.mipmap.switch_profile), getResources().getString(R.string.action_switch_profile)));
        menu.add(0, 4, 4, menuIconWithText(getResources().getDrawable(R.mipmap.logout), getResources().getString(R.string.action_sign_out)));
        return true;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...