Android状态栏防止着色

时间:2015-02-26 21:50:29

标签: android colors android-5.0-lollipop statusbar

我遇到阻止状态栏接受primaryColor的问题。我想让状态栏保持原样,但在棒棒糖上,它总是呈现我的styles.xml中定义的primaryColor的颜色

摘自样式:

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" >
    <item name="colorPrimaryDark">?attr/colorPrimary</item>
    <item name="colorAccent">?attr/colorPrimary</item>
    <item name="android:textColorPrimary">@android:color/primary_text_light</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>


<!-- Base application theme. -->
<style name="AppTheme.TransparentActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">?attr/colorPrimary</item>
    <item name="colorAccent">?attr/colorPrimary</item>
    <item name="android:textColorPrimary">@android:color/primary_text_light</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="android:windowActionBarOverlay">true</item>
    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>

    <item name="android:windowBackground">@color/white</item>
</style>

<!-- START Market Themes -->

<style name="AppTheme.Blue" parent="AppTheme">
    <item name="colorPrimary">@color/primaryColorBlue</item>
</style>

风格/ V21

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" >
    <item name="colorPrimaryDark">?attr/colorPrimary</item>
    <item name="colorAccent">?attr/colorPrimary</item>
    <item name="android:textColorPrimary">@android:color/primary_text_light</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

<!-- Base application theme. -->
<style name="AppTheme.TransparentActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">?attr/colorPrimary</item>
    <item name="colorAccent">?attr/colorPrimary</item>
    <item name="android:textColorPrimary">@android:color/primary_text_light</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@color/black</item>

    <item name="android:windowActionBarOverlay">true</item>
    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>

    <item name="android:windowBackground">@color/white</item>
    <item name="android:windowContentTransitions">true</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

<style name="ToolBarStyle" parent="">
    <item name="android:elevation">@dimen/toolbar_elevation</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>

</style>

1 个答案:

答案 0 :(得分:0)

你告诉它是你的主要颜色。 状态栏的颜色从colorPrimaryDark变为

<item name="colorPrimaryDark">?attr/colorPrimary</item>

<item name="colorPrimary">?attr/colorPrimary</item>
<item name="colorPrimaryDark">@android:color/black</item>

我认为这只应该在你的样式-v21中是必要的,但是我不能接近任何测试它。

Docs here

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>
相关问题