Intereting Posts
Почему моя служба не работает в Android? (Я просто хочу, чтобы что-то регистрировалось каждые 5 секунд) Переходы общего элемента с фрагментами не работают с ViewPager Структура каталога проектов тестирования Android при использовании Eclipse Отправить SMS с помощью сервиса adb shell call isms Android 4.1.2 Возможно ли читать данные Firebase без подключения слушателей? Получить массив KEYS для каждого элемента под jsonarray Android – Принудительная локаль, сбрасываемая при изменении ориентации Игнорировать несколько предупреждений в Android lint Снимок экрана Android OpenGL Как получить единый кадр предварительного просмотра в Camera2 API Android 5.0? Android, пользовательский агент веб-просмотра и пользовательский агент браузера Импортирование библиотек jar в андроид-студию Как я могу использовать onCreateOptionsMenu во Фрагменте в вкладке Activity? (Шерлок ActionBar) OnCreate flow продолжается после завершения () Исключение безопасности только на Android 6

Панель действий – опция 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