当我改变工具栏的颜色时,状态栏的颜色也会改变
Posted
技术标签:
【中文标题】当我改变工具栏的颜色时,状态栏的颜色也会改变【英文标题】:When I change the color of the toolbar is changing the color of the status bar also 【发布时间】:2015-09-22 19:43:55 【问题描述】:改变工具栏的颜色就是改变状态栏的颜色。当我更改工具栏的背景属性时会发生这种情况。
文件颜色:
<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_
android:layout_
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>
状态栏和工具栏很快就会变成白色,但应该分别是黑色和白色。
【问题讨论】:
【参考方案1】:在更改工具栏颜色时设置状态栏的颜色。 这是sn-p
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));
【讨论】:
以上是关于当我改变工具栏的颜色时,状态栏的颜色也会改变的主要内容,如果未能解决你的问题,请参考以下文章