当状态栏背景为白色时,将状态栏文本颜色更改为黑色

问题描述

我尝试了这里给出的一些解决方案,但似乎没有一个我有用。这就是我的colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#fcfdfb</color>
    <color name="colorPrimaryDark">#fff</color>
    <color name="colorPrimaryLight">#333</color>
    <color name="colorPrimaryText">#333</color>
    <color name="colorAccent">#000000</color>
    <color name="white">#ffffff</color>
    <color name="black">#000000</color>
</resources>

这就是我在styles.xml中的内容

<resources xmlns:tools="http://schemas.android.com/tools">
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@drawable/background_splash</item>
    <item name="android:windowActionBar">false</item>
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@drawable/background_splash</item>
    <item name="android:windowActionBar">false</item>
</style>
<style name="ProDialogue" parent="@android:style/Theme.Dialog">
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@color/colorPrimary</item>
    <item name="android:textColor">@color/black</item>
</style>
<style name="TransparentToolbar" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

我只需要状态栏文本/图标为黑色,因为我的背景为白色以匹配内容。作为初学者,我确信我在某个地方搞砸了,但希望有人能指导我。顺便说一句,我的 minSdkVersion 是 21。

解决方法

将这些属性添加到您的主题

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

请注意,这仅适用于 23+,因此您必须使用这些属性制作 23+ 的主题文件。我相当确定

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...