Intereting Posts
Gradle connectedAndroidTest возвращает «No test found», однако инструмент adb shell am может найти тесты BroadcastReceiver CONNECTIVITY_CHANGE всегда запускается при первом запуске приложения? Получить другого дочернего элемента, который разделяет родительский элемент с текущим представлением Внутренний экран предпочтений не открывается с помощью PreferenceFragmentCompat XmlPullParserException только на ICS Передача идентификатора ресурса стиля из XML в класс не работает Вращающееся изображение в Andengine Android меняет цвета с темами Изображение полного размера в ImageView Android: компиляция файлов с 9 патчами, которые будут использоваться за пределами выделенной папки? Как расширить от AsyncTask как базовый базовый класс? «Необработанное событие Loop Exception» при выполнении чего-либо в Android XML Альтернатива DatatypeConverter.printHexBinary (байт array) и DatatypeConverter.parseHexBinary (String str) в Android Изменение цвета субтитров на панели действий Android Анимация MediaRouteButton при подключении к приложению

Action-bar – элемент подменю, текст и изображение не работают должным образом

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

Я определяю пункты меню следующим образом.

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/card_menu" android:icon="@drawable/abc" android:showAsAction="withText|always" android:title="cards"> <menu> <item android:id="@+id/C1" android:title="C1"/> <item android:id="@+id/C2" android:title="c2"/> <item android:id="@+id/C3" android:title="C3"/> </menu> </item> <item android:id="@+id/notification" android:actionLayout="@layout/notification_icon" android:icon="@drawable/notification" android:showAsAction="always" android:title="Notifications"/> <item android:id="@+id/filter" android:icon="@drawable/filter" android:showAsAction="always" android:title="Filter"/> </menu> 

Теперь, что происходит, моя панель действий отображает мои предметы правильно; Дело только в том, что когда окно находится в портретном режиме, оно отображает только изображение, а когда окно находится в ландшафтном режиме, оно отображает изображение и текст. Но мне нужен образ и текст в обоих режимах.

Как это сделать? Есть ли способ решить это?

Если вы используете ActionBar из Android Sopport Library ( android.support.v7.app.ActionBar ), вам может потребоваться изменить ваше меню и объявление элемента:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/notification" android:actionLayout="@layout/notification_icon" android:icon="@drawable/notification" android:showAsAction="always" android:title="Notifications"/> 

в

 <!-- Your menu --> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourappname="http://schemas.android.com/apk/res-auto" > <!-- Your item to be shown as action--> <item android:id="@+id/notification" android:actionLayout="@layout/notification_icon" android:icon="@drawable/notification" android:showAsAction="always" yourappname:showAsAction="always" android:title="Notifications"/> 

У меня была аналогичная проблема при обеспечении совместимости со старыми версиями Android.

Лучше использовать android:showAsAction="ifRoom|withText" чем always .
В этом случае зависит размер вашего текста и ширина экрана.