ColorPrimaryDark StatusBar Android

时间:2015-08-17 02:19:33

标签: android android-actionbar

我真的变得疯狂了!我在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>

3 个答案:

答案 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