我真的变得疯狂了!我在styles.xml和styles-v21.xml中设置了attrs colorPrimaryDark和android:colorPrimaryDark,但我的statusBar不会改变颜色。我正在使用AppCompat-v22。有什么想法吗?
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/brand_color</item>
<item name="colorPrimaryDark">@color/brand_color_dark</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabs</item>
<item name="actionBarTabStyle">@style/MyActionBarTabs</item>
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="colorControlNormal">@color/brand_color</item>
<item name="colorControlActivated">@color/brand_color</item>
<item name="colorControlHighlight">@color/brand_color</item>
<item name="android:seekBarStyle">@style/SeekBarAppTheme</item>
<item name="android:windowAnimationStyle">@style/activity_animations</item>
</style>
样式-v21.xml:
<style name="AppTheme" parent="@style/AppBaseTheme">
<item name="android:colorPrimary">@color/brand_color</item>
<item name="android:colorPrimaryDark">@color/brand_color_dark</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
</style>
答案 0 :(得分:0)
您的状态栏颜色只能在API 21+中更改。在较旧的设备中,Android不允许开发人员触摸该属性。 Read this article, in Theming part:
设置这些属性时,AppCompat会自动将其值传播到API 21+上的框架属性。这会自动为状态栏和概述(最近)任务条目着色。
在较旧的平台上,AppCompat会在其中模拟颜色主题 可能。目前这只限于着色动作栏和 一些小部件。
因此,我认为您使用设备进行了测试&lt; API 21,您应该尝试使用较新的操作系统设备。
答案 1 :(得分:0)
尝试在android:fitsSystemWindows="true"
的根视图
layout xml
我试过设备&gt; API 21设备,如果您想要更改状态栏颜色
,则必须找到此属性答案 2 :(得分:0)
只需将targetSdkVersion更改为23