0

我有个问题。在白天主题中,我有一个浅色状态栏背景和深色文本,但是如果我将主题更改为夜间,状态栏背景会变暗,文本会变暗,但我需要文本变亮。我怎样才能做到这一点?

截图如下:

光

黑暗的

v23\主题代码:

<style name="Theme.Light" parent="Theme.AppCompat.DayNight.NoActionBar">
    <item name="colorPrimary">@color/purple_500</item>
    <item name="colorPrimaryVariant">@color/action_bar</item> // this color looks like background
    <item name="colorOnPrimary">@color/white</item>

    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorSecondary">@color/teal_200</item>
    <item name="colorSecondaryVariant">@color/teal_700</item>
    <item name="colorOnSecondary">@color/black</item>

    <item name="android:windowLightStatusBar">true</item>
    <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
</style>

night-v23\主题代码:

<style name="Theme.Night" parent="Theme.AppCompat.DayNight.NoActionBar">
    <item name="colorPrimary">@color/purple_200</item>
    <item name="colorPrimaryVariant">@color/action_bar</item> // this color looks like background
    <item name="colorOnPrimary">@color/white</item>

    <item name="colorPrimaryDark">@color/white</item>
    <item name="colorSecondary">@color/teal_200</item>
    <item name="colorSecondaryVariant">@color/teal_200</item>
    <item name="colorOnSecondary">@color/white</item>

    <item name="android:windowLightStatusBar">false</item>
    <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
</style>
4

1 回答 1

1

在您的 Android 项目中,您可以更改其中的这些值themes.xml,其中应该有两个,一个用于白天主题,一个用于夜间主题。

在这些文件中,您可以更改 Android 将使用的所有默认颜色。

app您可以在 ' ' > ' res' > ' values' > ' themes.xml'中找到themes.xml

有关更多信息,还有这个使用完整答案;https://imstudio.medium.com/android-change-status-bar-text-color-659680fce49b

在此处输入图像描述

在此处输入图像描述

于 2021-08-02T20:51:33.783 回答