Меню опций 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; } 

Следующий снимок экрана моего приложения

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

Мне нужно, чтобы изображение отображалось в верхней части позиции «Добавить контакты».

Solutions Collecting From Web of "Меню опций Android с иконкой"

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

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

Переопределите OnPrepareOptionsMenu и добавьте значок оттуда тоже

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

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

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

 <?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

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

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

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

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

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

** необходимо ввести.

Вы можете попробовать следовать этой ссылке .

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

Или вы можете сделать что-то подобное.
Создать 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); } } 

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