使状态栏具有颜色,但是透明

时间:2015-08-05 17:28:08

标签: android xml material-design statusbar

这是我当前的布局:

screenshot

生成它的xml文件如下所示:

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            style="@style/toolbarTheme"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"/>
    </LinearLayout>

    <include layout="@layout/drawer"/>
</android.support.v4.widget.DrawerLayout>

主题使用的样式:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:colorPrimary">@color/primary</item>
        <item name="android:colorPrimaryDark">@color/primary_dark</item>
        <item name="android:colorAccent">@color/accent</item>
        <item name="android:statusBarColor">@color/primary_dark</item>
        <item name="android:windowTranslucentStatus">true</item>
</style>

预期的结果是状态栏会以primary_dark颜色着色,但抽屉应该在它上面(就像在谷歌应用程序中一样),但我得到了这个结果。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要确保您的活动有android:fitsSystemWindows="true"android:clipToPadding="true",但请记住这仅适用于Android的更高版本