Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我改变工具栏的颜色时,状态栏的颜色也随之改变_Android_Colors_Toolbar_Statusbar - Fatal编程技术网

Android 当我改变工具栏的颜色时,状态栏的颜色也随之改变

Android 当我改变工具栏的颜色时,状态栏的颜色也随之改变,android,colors,toolbar,statusbar,Android,Colors,Toolbar,Statusbar,更改工具栏的颜色也会更改状态栏的颜色。当我更改工具栏的背景属性时会发生这种情况 文件颜色: <color name="statusBarColor">#000000</color> <color name="toolBarColor">#FFFFFF</color> 文件styles.xml: <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">

更改工具栏的颜色也会更改状态栏的颜色。当我更改工具栏的背景属性时会发生这种情况

文件颜色:

<color name="statusBarColor">#000000</color>
<color name="toolBarColor">#FFFFFF</color>
文件styles.xml:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item  name= "colorPrimary">@color/toolBarColor</item>
    <item  name= "colorPrimaryDark">@color/statusBarColor</item>
    <item  name= "colorAccent">#FF4081</item>
    <item name="windowActionBar">false</item>
</style>
文件toolbar.xml:

<android.support.v7.widget.Toolbar
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:id="@+id/toolbar"
   android:layout_height="wrap_content"
   android:layout_width="match_parent"
   android:fitsSystemWindows="true"
   android:minHeight="?attr/actionBarSize"
   app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
   app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
  android:background="@color/toolBarColor"></android.support.v7.widget.Toolbar>

很快,状态栏和工具栏将变为白色,但应分别为黑色和白色。

更改工具栏颜色时,请设置状态栏的颜色。 下面是片段

Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(activity.getResources().getColor(R.color.statusbar_color));