Пытаюсь создать простое представление с полупрозрачной строкой состояния и панелью инструментов, и у меня возникают проблемы с тем, чтобы панель инструментов работала так, как я ожидал. Панель инструментов, похоже, использует свойство fitsSystemWindows bool для своих внутренних элементов (заголовок, меню переполнения), но не для его фактического положения.
Я могу программно получить размер строки состояния и изменить размер панели инструментов, добавив высоту строки состояния, но я понимаю, что fitsSystemWindows=true должен это делать.

Тема
<style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name = "colorPrimary">@color/colorPrimary</item>
<item name = "colorPrimaryDark">@color/colorPrimaryDark</item>
<item name = "colorAccent">@color/colorAccent</item>
</style>
<style name = "AppTheme.NoActionBar">
<item name = "windowActionBar">false</item>
<item name = "windowNoTitle">true</item>
<item name = "android:windowTranslucentStatus" tools:targetApi = "kitkat">true</item>
</style>
Макет - Примечание: я переместил фон в AppBarLayout, потому что в конечном итоге цель состоит в том, чтобы за панелью инструментов было фоновое изображение. Это не меняет результат, если фон определен в AppBarLayout или на панели инструментов.
<?xml version = "1.0" encoding = "utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fitsSystemWindows = "true"
tools:context = ".MainActivity">
<android.support.design.widget.AppBarLayout
android:id = "@+id/appbar"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:background = "?attr/colorPrimary"
android:fitsSystemWindows = "true"
android:theme = "@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id = "@+id/toolbar"
android:layout_width = "match_parent"
android:layout_height = "?attr/actionBarSize"
android:fitsSystemWindows = "true"
app:popupTheme = "@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<TextView
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:text = "Content Here"
android:gravity = "center"/>
</android.support.design.widget.CoordinatorLayout>
Просто надеюсь, что мне не хватает простой вещи, которая заставит эту работу работать так, как я понимаю. Добавление атрибута fitsSystemWindows перемещает заголовок и дополнительное меню вниз, но панель инструментов отключается, поскольку она не была перемещена.
Макет панели инструментов изменен на высоту wrap_content, похоже, "решает" проблему.
<android.support.v7.widget.Toolbar
android:id = "@+id/toolbar"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:fitsSystemWindows = "true"
app:popupTheme = "@style/AppTheme.PopupOverlay" />