首页 > 解决方案 > 如何更改Android中通知栏的背景颜色,即“元素颜色和文本颜色”......?

问题描述

我必须更改状态栏的元素颜色和文本颜色,还必须更改 Android 中标题栏的文本颜色:

现有代码如下:

样式.xml

<style name="AppThemeNew" 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>

        <item name="android:statusBarColor">@color/status_bar_color</item>
        <item name="android:windowLightStatusBar">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    </style>

颜色.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#FDFEFE</color>
    <color name="colorPrimaryDark">#F4F6F6</color>
    <color name="colorAccent">#088da5</color>
    <color name="status_bar_color">#F4F6F6</color>
    <color name="status_bar_element_color">#AAB7B8</color>
</resources>

row_data.xml

布局

请帮忙.....

标签: javaandroidandroid-notificationsandroid-stylesandroid-statusbar

解决方案


要更改状态栏的元素和文本颜色,您可以像这样创建自定义主题:

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:statusBarColor">@color/status_bar_color</item>
        <item name="android:windowLightStatusBar">false</item>
    </style>

笔记:

  1. status_bar_color将是您的自定义颜色资源。

  2. android:windowLightStatusBar= true,当状态栏颜色较浅时,状态栏文本颜色将兼容(灰色)。

    android:windowLightStatusBar= false,当状态栏颜色为深色时,状态栏文本颜色将兼容(白色)。

    参考在这里

  3. 在以上 api 级别 23 中测试


推荐阅读