Как реализовать панель навигации с прозрачной строкой состояния с отдельными панелями инструментов для каждого фрагмента? - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь реализовать панель навигации с прозрачной строкой состояния. Второе требование - иметь отдельные панели инструментов для каждого фрагмента. В-третьих, результат этой реализации выглядит одинаково на устройствах v19 и v21 +. Я создал пример приложения для демонстрации проблем, с которыми я сталкиваюсь в этом отношении, и его можно загрузить по ссылке по этой dropbox, чтобы просмотреть полный код. Для этой реализации я воспользовался примером приложения cheesesquare с некоторыми изменениями после небольшого исследования в сети.

Ниже приведены проблемы:

V19:

1) Часть панели инструментов скрывается за строкой состояния в каждом фрагменте, хотя я использовал android:fitsSystemWindows="true" в DrawerLayout activity_main.xml: v19 toolbar behind status bar

2) Строка состояния не прозрачна (как показано на рисунке выше), хотя я использовал <item name="android:windowTranslucentStatus">true</item> в v19 \ styles.xml

3) Панель навигации не отображается за строкой состояния: v19 with open drawer

V21 +:

1) Строка состояния не прозрачна, хотя я использовал следующее в v21 \ styles.xml. Это серого цвета, который я не определил:

<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

v21 non-transparent status bar

Однако навигационная панель рисуется прямо за строкой состояния: v21 with open drawer

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

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

Любая помощь будет отличной помощью!

1 Ответ

0 голосов
/ 29 июня 2018

Отсюда вы можете добраться до Активности в Навигаторе. Предоставлено Android Studio.

Сделайте правый клик на названии вашего пакета. Выберите опцию Активность навигатора . (как показано на рисунке ниже)

Create Navigation Drawer Activity

Дайте название своей деятельности.

Give Name to an Activity

Ваш навигационный ящик будет создан.

...