Android - Как изменить цвет строки состояния NavigationView? - PullRequest
0 голосов
/ 21 декабря 2018

Я перепробовал все, что мог, чтобы реализовать эту функцию, но не смог, "hookLayout.setStatusBarBackground ()" не работает ", android: windowTranslucentStatus: true" не работает.

Здесь сначалаизображение - это все, что я могу сделать сейчас, а второй - желаемый эффект:

Все, что я могу сделать сейчас

Желаемый эффект

Большое спасибо.

1 Ответ

0 голосов
/ 24 декабря 2018

Вам нужно добавить android:fitsSystemWindows="true" к android.support.v4.widget.DrawerLayout и android.support.design.widget.NavigationView.

Например, код будет выглядеть как

<?xml version="1.0" encoding="utf-8"?>
<!-- Use DrawerLayout as root container for activity -->
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <!-- Layout to contain contents of main body of screen (drawer will slide over this) -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- Container for contents of drawer - use NavigationView to make configuration easier -->
    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true" />

</android.support.v4.widget.DrawerLayout>

И вывод будет похож (как чтовам нужно)

enter image description here

...