Подтвердить что ты не робот

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

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

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

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

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

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

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

Случай 1:

always case

Случай 2:

ifRoom case

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

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

Спасибо!

4b9b3361

Ответ 1

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

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

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

Из здесь.

Ответ 2

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

чтобы вы ответили:

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

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

Ответ 3

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