首页 > 解决方案 > 如何在 Android 中更改状态栏字体颜色?

问题描述

我看到的许多答案都说尝试添加<item name="android:windowLightStatusBar">true</item>
但是无论我设置true还是设置,我的状态栏字体颜色都不会从白色改变false。(默认颜色为白色)。
我在.../res/values/themes/themes.xml and themes.xml(night).

我不在乎它会被删除或透明化。只想让它隐形
像这样:在此处输入图像描述
我现在应该做什么?有人帮忙吗?
如果您需要更详细的信息,请发表评论!谢谢你!

我的代码在这里(themes.xml):

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.NewProject" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/black</item>
        <item name="colorPrimaryVariant">@color/black</item>
        <item name="colorOnPrimary">@color/black</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor">?attr/colorPrimaryDark</item>
        <!-- Customize your theme here. -->
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <!-- ** Added Line ** -->
        <item name="android:windowLightStatusBar">true</item>
    </style>
</resources>

标签: androidandroid-layout

解决方案


添加以下内容style以自定义状态栏颜色

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.NewProject" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/black</item>
        <item name="colorPrimaryVariant">@color/black</item>
        <item name="colorOnPrimary">@color/black</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>

        <!-- Customize your theme here. -->
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>

        <!-- ** Add here ** -->
        <!-- ** if you prefer no status bar use this ** -->
        <item name="android:statusBarColor" tools:targetApi="l">@android:color/transparent</item>
    </style>
</resources>

编辑:

// use this to display no text in toolbar
getSupportActionBar().setDisplayShowTitleEnabled(false);

推荐阅读