2013-02-21 5 views
3

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

Portrait mode

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

Landscape mode

Пользовательский вид, похоже, вклинивается между поворотным устройством навигации и кнопками действий.

Есть ли что-то, чтобы заставить кнопки действий свернуть в переполнение?

+0

Можете ли вы объяснить, как управлять двумя прядильщиками, появляющимися на верхней панели действий при использовании действия split. Я использовал один счетчик, используя навигационный счетчик, а затем добавил второй пользовательский счетчик. Тем не менее, при раздельной панели в портретном режиме второй прядильщик появляется на нижней панели действий, а не на верхней. – gbotha

+0

Я не совсем уверен; Я считаю, что он просто так работал. Я также поместил выделенный счетчик в пользовательское представление. Используете ли вы инвентарь HC + Actionbar или какую-то библиотеку совместимости? Является ли ваше тестовое устройство HC +? –

ответ

0

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

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

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

0

Я думаю, что у вас есть два варианта:

  1. Установите атрибут android:minWidth для второго Spinner. Я мог представить, что это приведет к тому, что последние элементы перейдут в меню переполнения.

  2. Используйте два разных файла xml-файла для портрета и пейзажа. Оставьте файл /res/menu/menu.xml как есть и создайте новый файл в /res/menu-land/menu.xml, где вы установили android:showAsAction="never" для некоторых пунктов меню.

+0

Указать параметр "minWidth", кажется, не имеет никакого эффекта. Я мог бы попытаться взглянуть на иерархический просмотрщик, чтобы понять, почему макет настолько упрям, но этот подход кажется тупиковым. Даже если я переместил некоторые элементы меню в переполнение, это не переносное решение, потому что мне пришлось бы вручную выбивать разные правила для разных конфигураций 'w dp', и я действительно не хочу спускаться по этому проспекту. –

Смежные вопросы