Значки элементов всплывающего меню

У меня проблема с моим приложением. Мне нужно показать PopupMenu, и мне нужно, чтобы каждый элемент в этом меню содержал текст и изображение. Изображения должны отображаться слева от текста. Но это не показывает, есть предложения, как это сделать?

Мой код пока ниже;

public void showMenu(Button button) {
    PopupMenu popupMenu = new PopupMenu(this, button);
    popupMenu.getMenuInflater().inflate(R.menu.config_menu, popupMenu.getMenu());
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {

            switch (menuItem.getItemId()) {

И мое меню опций:

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

<item
    android:id="@+id/dial"
    android:icon="@drawable/phone"
    android:title="@string/dialText"/>

<item
    android:id="@+id/GPS"
    android:icon="@drawable/gps"
    android:title="@string/gpsText"/>

<item
    android:id="@+id/Record"
    android:icon="@drawable/record"
    android:title="@string/recordText"/>

<item
    android:id="@+id/notActive"
    android:title="@string/not_active"/>

This is what I see (red boxes added to show where the images should go);

**введите здесь описание изображения**


person k.nadonenko    schedule 13.01.2015    source источник
comment
Является ли изображение внизу вашего вопроса примером того, что вы хотите, или того, что вы на самом деле видите?   -  person Rudi Kershaw    schedule 13.01.2015
comment
@Rudi это то, что я вижу, но без красных квадратов.   -  person k.nadonenko    schedule 13.01.2015


Ответы (1)


К сожалению, PopupMenu не поддерживает значки по умолчанию.

Альтернативы включают создание собственного класса, который extends PopupMenu или проще переключение на использование ActionBar. Существует репозиторий GitHub для всплывающего меню совместимости с Android со значками, которое может быть полезным.

Из трех вариантов я бы предложил использовать ActionBar, потому что Android, похоже, сильно настаивает на использовании ActionBar как наилучшей практики по сравнению с традиционными меню заголовков в своих руководствах.

Надеюсь, это поможет.

person Rudi Kershaw    schedule 13.01.2015