当状态栏背景为白色时,将状态栏文本颜色更改为黑色
Change the Statusbar text color to black when the Statusbar background is white
我已经尝试了这里给出的一些解决方案,但 none 似乎对我有用。这就是我 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" />
我只需要将状态栏 text/icons 设置为黑色,因为我将背景设置为白色以匹配内容。作为初学者,我确信我在某个地方搞砸了,但希望有人能指导我。顺便说一句,我的 minSdkVersion 是 21.
将这些属性添加到您的主题
<item name="android:windowLightStatusBar">true</item>
<item name="android:statusBarColor">@color/white</item>
请注意,这仅适用于 23+,因此您必须制作一个具有这些属性的 23+ 主题文件。我很确定 < 23 每个设备的状态栏都是黑白的,你不能改变它,但你应该仔细检查
我已经尝试了这里给出的一些解决方案,但 none 似乎对我有用。这就是我 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" />
我只需要将状态栏 text/icons 设置为黑色,因为我将背景设置为白色以匹配内容。作为初学者,我确信我在某个地方搞砸了,但希望有人能指导我。顺便说一句,我的 minSdkVersion 是 21.
将这些属性添加到您的主题
<item name="android:windowLightStatusBar">true</item>
<item name="android:statusBarColor">@color/white</item>
请注意,这仅适用于 23+,因此您必须制作一个具有这些属性的 23+ 主题文件。我很确定 < 23 每个设备的状态栏都是黑白的,你不能改变它,但你应该仔细检查