Intereting Posts
Получение строки из Plurals для использования в XML? Можно ли изменить владельца аккаунта на консоли разработчика Google Play? Настройка размера настраиваемого диалогового окна в android Шерлок Actionbar invalidateOptionsMenu () Получить текущее системное время Не может получить доступ к памяти по адресу 0X1 после настройки gdb и eclipse для отладки общей библиотеки из приложения Android Как я могу отображать специальные символы (например, & ndash;) в TextView? Выключение питания или перезагрузка устройства Android с помощью кода / программы? Различия между плагином Android NetBEANS и плагином Eclipse? Android – Как отобразить диалог по собственному экрану? Как заменить фрагмент активности из самого фрагмента? Изображение Android выбрано из галереи Ориентация всегда 0: Exif TAG Событие пожаротушения андроида при создании одного и того же элемента Есть ли способ добавить напоминания к новому событию календаря с использованием намерений? TextView: shadowDx / Dy / Radius in dip?

Панель действий – опция ifRoom оставляет слишком много места

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

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

Эта часть также хорошо работала, за исключением того факта, что слишком много элементов меню попало в переполнение меню, на вертикальном экране осталось только 2 значка (включая панель поиска).

Я сделал еще один тест на другое мероприятие, имеющее 5 пунктов меню:

  1. В первом случае я установил все из них с помощью android:showAsAction="always"
  2. Во втором случае я установил все из них с помощью “ android: showAsAction = "ifRoom" `

Вот результаты:

Дело 1:

Всегда случай

Случай 2:

Случай ifRoom

Почему, если я использую ifRoom , отображаются только 2 значка, а на самом деле 5 может легко заполнить это место?

Из-за этого у меня есть только один пункт меню рядом с моим объектом просмотра …

Благодаря!

Solutions Collecting From Web of "Панель действий – опция ifRoom оставляет слишком много места"

Похоже, это дизайнерское решение:

Джейк Уортон говорит:

Когда они содержатся внутри панели действий, существует конечный максимум элементов действия, основанный на плотности, не зависящей от плотности устройства. Элементы действия также могут не охватывать более половины ширины панели действий.

Отсюда .

В XML-файле вы можете запросить MenuItem как элемент действия, объявив android:showAsAction="ifRoom" для <item> . Таким образом, MenuItem появляется в ActionBar для быстрого доступа, только если есть доступная комната. Если места недостаточно, элемент отображается в меню переполнения.

Так что вы отвечаете:

Используйте «ifRoom», чтобы запросить, чтобы элемент появился на панели действий, но разрешите системе переместить его в меню переполнения, когда места недостаточно (при ограниченном пространстве на меньших экранах).

Вы можете использовать android:showAsAction="always" чтобы показать все меню в ActionBar .

Максимальное количество значков для опции «ifRoom» составляет 5 (пять), даже когда я переместился на мой 100-дюймовый планшет размером с экран 🙂 и отчаянно поверните его по пейзажу, см. Ссылку от ответа Джейка Уортона (Спасибо!) Http: // developer.android.com/design/patterns/actionbar.html