Как сделать DrawerLayout отображаемым под панелью инструментов?

Как сделать макет ящика ниже панели действий / панели инструментов? Я использую v7: 21 app compat library с новым представлением ToolBar.

Примеры, которые я вижу,

           

Но тогда панель инструментов будет скрыта ящиком, что делает анимированный значок гамбургера (например, v7.ActionBarDrawerToggle) бесполезным, так как он не будет виден под ящиком, но я хочу использовать новое представление ToolBar для лучшей поддержки темы Material.

Итак, как это сделать? Возможно ли, что DrawerLayout будет отображаться не на верхнем уровне?

                   

    я не думаю, что вы можете использовать пользовательскую toolbar

    но работать было бы, чтобы установить top_margin в ящик. (то же самое в google play store!)

       

    если вы нашли лучшее решение, скажите мне тоже;)

    Измените стиль макета ящика, как показано ниже.

     RelativeLayout ----Toolbar ----DrawerLayout ---ContentView ---DrawerList 

    Мое решение: создать шаблон с Android Studio 2.1.2, шаблон ящика:

    Требуется только три изменения: установите верхний край поля в поле NavigationView и удалите строку состояния overloap в файле style.xml

     false android:fitsSystemWindows="false" 

    layout main.xml set margin top получить размер actionbar значение android:layout_marginTop="?attr/actionBarSize"

          

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

         [content here]    

    Будьте осторожны, перемещая виджеты дизайна, если кто-то находится под неправильным корневым тегом, вы получите

    layout_gravity_left “нет layout_gravity_left

    исключение.

    Я нашел более простое решение: установите атрибут DrawerLayout и NavigationView:

     android:fitsSystemWindows="false" 

    а затем дайте marginTop для навигации

     "?actionBarSize" 

    возможно, ваш статусбановый фон станет прозрачным в этом случае в styles.xml add

     @color/colorPrimaryDark 

    атрибут, чтобы вернуть нормальный цвет или любой другой цвет, который вы хотите …

    Interesting Posts

    Как использовать программный доступ к памяти через JMX?

    Notepad ++ как скопировать текст (только), который соответствует выражению регулярного выражения (не всей строки)

    Краткое объяснение Async / Await в .Net 4.5

    Установка свойства путем отражения со строковым значением

    В JQGrid, возможно ли использовать другой форматтер для группировки итоговой ячейки, отличной от форматирования столбцов?

    Каков наилучший способ условного применения атрибутов в AngularJS?

    Создание управляемой банки с Maven 2

    Расширение Firefox для сохранения вкладок?

    Передача результата LINQ в ObservableCollection

    Запретить IP-адреса из текстового файла с помощью htaccess

    Разница между std :: reference_wrapper и простым указателем?

    Как изменить имя автора и коммиттера и e-mail нескольких коммитов в Git?

    Матричное умножение: малая разница в размере матрицы, большая разница в таймингах

    Почему большинство маршрутизаторов не включают локальный DNS?

    Использование IsAssignableFrom с открытыми типами

    Давайте будем гением компьютера.