Подтвердить что ты не робот

Меню опций Android с иконкой

Как показать значок с опцией menu.I пробовал следующий код, но в моем меню параметров отсутствует значок изображения. Я использую Android версию 4.0 для разработки приложения.

Java-код:

 public boolean onCreateOptionsMenu(Menu menu) {
            super.onCreateOptionsMenu(menu);
             menu.add("Add Contacts").setIcon(
                    R.drawable.ic_launcher);

            return true;
        }

Ниже показан снимок экрана приложения

enter image description here

Мне нужно, чтобы изображение отображалось в верхней части элемента "Добавить контакты".

4b9b3361

Ответ 1

Отменить OnPrepareOptionsMenu и добавить значок тоже там

и если для него выше 3.0, используйте android:showAsAction в xml.

например. android:showAsAction="ifRoom|withText"

Ответ 2

Я пробовал код в двух строках, и он работает:

public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        menu.add("Add Contacts");
        menu.getItem(0).setIcon(R.drawable.ic_launcher);
        return true;
}

Ответ 3

Вы можете создать собственное меню, подобное этому:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/add_contacts"
          android:icon="@drawable/ic_launcher"
          android:title="@string/add_contacts"
         />
</menu>

И затем раздуйте его

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_menu, menu);
    return true;
}

Подробнее об этом здесь: http://developer.android.com/guide/topics/ui/menus.html#options-menu

Ответ 4

вы можете напрямую установить это в xml файл.

  <item android:id="@+id/add_contacts"
  android:icon="@android:drawable/plus_icon"
  android:title="Add Contacts"/>

Ответ 5

Вы можете попробовать После этого Ссылка.

Проверьте это и скажите, работает ли он или нет.

Или вы можете сделать что-то вроде этого. Создать menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:id="@+id/next"
              android:icon="@drawable/ic_next"
              android:title="@string/next" />
      <item android:id="@+id/previous"
            android:icon="@drawable/ic_previous"
            android:title="@string/previous" />
      <item android:id="@+id/list"
            android:icon="@drawable/ic_list"
            android:title="@string/list" /> 
</menu>

И теперь вы сможете установить ICON в меню

Теперь в CreateOptionMenu

public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.menu, menu);
      return true;
    }

И для доступа к этому меню.

public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
      case R.id.next:
            Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.next) + " menu option",
                        Toast.LENGTH_SHORT).show();
            return true;
      …
      default:
            return super.onOptionsItemSelected(item);
      }
   }

Ответ 6

Если вы используете следующий атрибут в файле манифеста, тогда он будет показывать значок.

<activity android:name=".ui.CategoryActivity"
        android:label="@string/app_name"
        **android:theme="@android:style/Theme.NoTitleBar"**></activity>

Это отлично работает для меня...:) +1 для моих собственных усилий...

**.

Ответ 7

Самый простой способ - использовать @drawable только при настройке пункта меню.

ИЛИ

Просто поместите @drawable перед объявлением заголовка.

<?xml version="1.0" encoding="UTF-8" ?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app    ="http://schemas.android.com/apk/res-auto">
<item
  android:id      ="@+id/addToFavorites"
  android:icon = "@drawable/ic_favorite_border_white_24dp"
  android:title = "Hello"
  app:showAsAction="always" />
<item
  android:id      ="@+id/about"
  android:title   ="About"
  app:showAsAction="never" />
</menu>  

Ответ 8

проблема заключается в Androidmanifest.xml. Удалите android:theme="@style/AppTheme", и он будет работать просто отлично

Ответ 9

Чтобы включить меню параметров со значками, оберните элементы элементом с помощью showAsAction="always" и меню.
Пример:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action1"
        android:orderInCategory="100"
        android:title="@string/action1"
        android:icon="@mipmap/ic_icon_action1"
        app:showAsAction="never" />
</menu>

Для включения значков используйте:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:title="@string/title_menu"
        android:icon="@mipmap/ic_icon_menu"
        app:showAsAction="always">
        <menu>
            <item
                android:id="@+id/action1"
                android:orderInCategory="100"
                android:title="@string/action1"
                android:icon="@mipmap/ic_icon_action1"
                app:showAsAction="never" />
        </menu>
    </item>
</menu>