Intereting Posts
Android программно обновляет apk и видит результат установки Как проверить доступное пространство на устройстве Android? На SD-карте? Клавиатура дисплея эмулятора Android для Visual Studio Показать Android SnackBar над клавиатурой? Скопировать файл базы данных на SDCard в android Что это означает: Должен ли я явно установить «android: fullBackupContent», чтобы избежать резервного копирования определенного регистратора GCM? Как поместить изображение в AlertDialog? Android Как имитировать сенсорное событие в Android? Если-else работает, не переключайте ViewPager с индикатором без поддержки библиотеки Android Любой рабочий учебник для Phonegap в Android Слушать кнопки громкости в фоновом режиме? Библиотека поддержки Gradle и Android Как я могу сказать, что мой босс, работающий с Xamarin, не сделает его быстрее Как проверить, была ли добавлена ​​учетная запись google пользователей на устройстве перед началом процедуры GCM?

Как показать элементы меню переполнения в панели действий на Android

Я пишу приложение Android, в котором я пытаюсь показать пункты меню переполнения ActionBar

Используя эту замечательную ссылку для учебника: http://wptrafficanalyzer.in/blog/adding-action-items-and-overflow-menu-items-to-action-bar-in-android/

Проблема:

Not getting Overflow Menu Items (Icon) 

Пожалуйста, смотрите ниже Screen Shot для большей ясности: Введите описание изображения здесь

manifest.xml:

 <uses-sdk android:minSdkVersion="14" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".MainActivity" android:label="@string/app_name" android:uiOptions="splitActionBarWhenNarrow" > 

items.xml:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/phone" android:title="@string/phone" android:icon="@drawable/phone" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/computer" android:title="@string/computer" android:icon="@drawable/computer" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/gamepad" android:title="@string/gamepad" android:icon="@drawable/gamepad" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/camera" android:title="@string/camera" android:icon="@drawable/camera" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/video" android:title="@string/video" android:icon="@drawable/video" android:showAsAction="ifRoom|withText" /> <item android:id="@+id/email" android:title="@string/email" android:icon="@drawable/email" android:showAsAction="ifRoom|withText" /> </menu> 

Я использую этот учебник и пытаюсь сделать Рисунок 6: Элементы действий и меню переполнения в панели действий Split

Пожалуйста, помогите мне показать пункты меню переполнения (ICON) в ActionBar

Теперь, когда я нажимаю кнопку «Меню» в эмуляторе, я получаю меню «Меню»

Solutions Collecting From Web of "Как показать элементы меню переполнения в панели действий на Android"

Чтобы показать три значка точки, в панели действий, просто используйте метод ниже в своем OnCreate ():

  private void getOverflowMenu() { try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); if(menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } } catch (Exception e) { e.printStackTrace(); } } 

Просто сказать, что если ваше устройство имеет кнопку меню, значок переполнения не будет отображаться, на новых телефонах отобразится кнопка переполнения. Я бы не рекомендовал ответ ASMUIRTI, так как это ужасный взлом, который нарушает согласованность с остальными приложениями на платформе.

Вы должны использовать

 android:showAsAction="never" 

И пусть устройство android решит, что для этого устройства требуется меню переполнения.

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

  <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/saveDetails" android:showAsAction="always" android:title="@string/save"/> <item android:id="@+id/menu_overflow" android:icon="@drawable/dts" android:orderInCategory="11111" android:showAsAction="always"> <menu> <item android:id="@+id/contacts" android:showAsAction="never" android:title="Contacts"/> <item android:id="@+id/service_Tasks" android:showAsAction="never" android:title="Service Tasks"/> <item android:id="@+id/charge_summary" android:showAsAction="never" android:title="Charge Summary"/> <item android:id="@+id/capture_signature" android:showAsAction="never" android:title="Capture Signature"/> </menu> </item> </menu> 

Если я правильно понял ваш вопрос и вы хотите показать все ваши значки на панели действий, измените эти параметры в пунктах меню

 android:showAsAction="ifRoom|withText" 

к этому

 android:showAsAction="always" 

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

 yourappname:showAsAction="ifRoom|withText" 

Телефоны, на которых есть кнопка меню, показывают дополнительные пункты меню при щелчке на кнопке аппаратного обеспечения. Новые телефоны, без кнопки меню оборудования, автоматически добавляют значок меню переполнения в панель действий. Дополнительные пункты меню – это те, у которых свойство showAsAction установлено никогда.

В AndroidManifest.xml между add

 android:theme="@android:style/Theme.Holo.Light" 

Который добавляет панель действий в ваше приложение.

После этого перейдите в menu.xml и добавьте следующие

 xmlns:tools="http://schemas.android.com/tools 

Между Наконец в каждом элементе добавить

 android:showAsAction="always" tools:ignore="AppCompatResource"