2016-07-14 133 views
14

我试图重现谷歌日历应用程序的行为: enter image description here更改状态栏文本颜色,当primaryDark是白色

,但我还没有找到一种方法来改变状态的文字颜色。如果我将colorPrimaryDark设置为白色,则无法看到图标,因为它们的颜色也是白色,所以状态栏的文本都不会显示。

有没有办法改变状态栏的文字颜色?

在此先感谢

回答

20

我不知道什么API级别你努力的目标,但如果你可以使用API​​ 23具体的东西,你可以添加以下到您的AppTheme styles.xml:

<item name="android:statusBarColor">@color/colorPrimaryDark</item> 
<item name="android:windowLightStatusBar">true</item> 

android:windowLightStatusBar设置为true,状态栏文本的颜色就可以在状态栏的颜色为白色,反之亦然 时android:windowLightStatusBar设置为false,状态栏文本颜色的设计,将被视为待观察当状态栏颜色很暗时。

实施例:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <!-- Status bar stuff. --> 
    <item name="android:statusBarColor">@color/colorPrimaryDark</item> 
    <item name="android:windowLightStatusBar">true</item> 
</style> 
+1

大!!这对我有用:) – MarcForn

+12

如果我的API级别是21,它不起作用,你可以告诉我替代方案 – saikrupa