(colorPrimaryDark)状态栏颜色不适用于android v21?

我在style.xml中添加了colorPrimaryDark,但在状态栏android v21上没有任何颜色影响。

我有一个自定义工具栏,我在style.xml代码中使用任何操作栏主题

如果有什么解决scheme请帮助我?

样式代码: –

<style name="AppTheme" parent="AppTheme.Base"> <!-- Customize your theme here. --> </style> <style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="myCustomToolbarTheme" parent="ThemeOverlay.AppCompat.Light"> <item name="android:textColorSecondary">@color/colorAccent</item> </style> 

风格v21: –

  <style name="AppTheme" parent="AppTheme.Base"> <item name="android:colorPrimary">@color/colorPrimary</item> <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:colorAccent">@color/colorAccent</item> <item name="windowActionBar">true</item> <item name="windowNoTitle">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item> </style> 

工具栏代码: –

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="56dp" android:elevation="4dp" android:background="@color/colorPrimary" android:popupTheme="@style/Base.ThemeOverlay.AppCompat.Light" xmlns:android="http://schemas.android.com/apk/res/android" /> 

主布局代码

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:fitsSystemWindows="true" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical"> <include layout="@layout/custom_toolbar"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button1" /> </LinearLayout> <android.support.design.widget.FloatingActionButton xmlns:fab="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/fab" android:layout_gravity="right|bottom" android:src="@mipmap/ic_plus" android:onClick="fabClick" android:layout_marginRight="@dimen/fab_margin" android:layout_marginBottom="@dimen/fab_margin_bottom" fab:borderWidth="0dp"/> 

Solutions Collecting From Web of "(colorPrimaryDark)状态栏颜色不适用于android v21?"

我认为你的CoordinatorLayout缺less以下属性: android:fitsSystemWindows =“true”

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:fitsSystemWindows="true"> 

很久以前,但我仍然会回答,你应该删除这一行:

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

它覆盖了colorPrimaryDark颜色,基本上从状态栏中删除它。

尝试使用

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setStatusBarColor(getResources().getColor(R.color.colorPrimaryDark)); } 

在values-v21中创build一个新的styles.xml文件,并在AppTheme中添加以下属性。

 <item name="android:statusBarColor">@color/colorPrimaryDark</item> 

我在styles.xml(v21)中有以下AppTheme

 <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@color/colorPrimaryDark</item> </style>