Я пишу приложение с картой и несколькими элементами пользовательского интерфейса (FAB, кнопка выдвижного ящика).Я хочу, чтобы приложение расширялось ниже панели состояния и навигации.Прямо сейчас я дошел до того, что у меня есть нужный мне макет:
https://i.imgur.com/FpT1tzf.jpg
Как видите, карта простирается до краевэкран, в то время как различные кнопки остаются за пределами панели состояния и навигации.Однако я сделал это довольно глупо:
styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
layout.xml:
https://gist.github.com/artificialnull/20192510ff22e86b42e2436fe68f75ae
По сути, у меня есть fitsSystemWindows=false
для окружающих DrawerLayout
и ConstraintLayout
.Интерьер MapView
имеет то же самое, и он простирается ниже панели состояния и навигации.ImageButton
в левом верхнем углу имеет fitsSystemWindows=true
, и он не идет под системным интерфейсом.FAB - сложная часть: прямо сейчас они ограничены позицией выше Guideline
, который установлен во время выполнения в верхней части панели навигации.Это явно не идеально, поэтому я попытался добавить fitsSystemWindows=true
к обоим FAB и удалить вышеупомянутый Guideline
.Это не изменило тот факт, что FAB были нарисованы под панелью навигации;однако, что еще более запутанно, так это то, что после внесения этих изменений ImageButton
, который ранее был в порядке, переместился в строку состояния вверху.ImageButton
никак не зависит от FAB для его размещения, поэтому я не знаю, почему изменение FAB должно повлиять на ImageButton
.
Мне не удалось найти решение этой проблемы в StackOverflow или где-либо еще.Я понимаю, что мое текущее решение (с позицией Guideline
во время выполнения) не является хорошей практикой, но я не могу найти другое лучшее решение, которое действительно работает.Любой совет приветствуется!