2014-10-21 5 views
9

Я перепроектирую свое текущее приложение примерно следующим образом excellent intro here Chris Bane. Одна вещь поразила меня, хотя:Как работает новая панель инструментов Android и панель контекстного действия?

Если я установил новый v7-AppCompat Toolbar как ActionBar замена через setSupportActionBar() и вывести мою тему из Theme.AppCompat.Light.NoActionBar, то бар контекстную действия (САВ) еще всплывет и раздвигать содержимое, в том числе Панель инструментов, вниз:

Теперь, я мог бы попытаться сделать CAB наложить мой Toolbar, но я полагал, что UI (в основном метрики и размещение) от кнопки возврата и текст САВ Дон» t соответствует панели инструментов либо (как видно на изображении), поэтому я задаюсь вопросом, существует ли режим «CAB» в реализации панели инструментов, так что панель инструментов c а также взять на себя эту роль?

ответ

30

Вы должны установить следующие в вашей теме:

<item name="windowActionModeOverlay">true</item> 

Это позволит сделать режим наложения действия для просмотра контента, и, следовательно, панель инструментов.

+2

Большое спасибо за указатель, Крис! Как я думал, наложение - это решение. Однако, как вы можете видеть на скриншоте выше, есть несколько визуальных проблем: (1) Кнопка назад, которая отклоняет CAB, помещается больше справа от панели инструментов, (2) имеется световая полоса слева от «Textauswahl» и (3) CAB, по-видимому, на несколько dp меньше по высоте, чем панель инструментов (для которой я использую 'attr/actionBarSize'). Ожидается ли это или эти визуальные сбои будут исправлены? –

+1

Что нужно сделать, если мы установим некоторую высоту на панель инструментов отдельно от wrap_content, тогда CAB не сможет полностью наложить панель инструментов. Как мы можем установить ширину CAB тогда. – user2779311

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