android - 如何在夜间模式下更改深色操作栏的颜色?

标签 android theming android-night-mode

我试图将操作栏的背景颜色更改为另一种颜色,而不是默认颜色。
我在用 :

implementation 'com.google.android.material:material:1.2.0-alpha05'

...值/样式.xml:
    <resources>

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <item name="colorPrimary">@color/primaryColor</item>
        <item name="colorPrimaryDark">@color/primaryDarkColor</item>
        <item name="colorPrimaryVariant">@color/primaryLightColor</item>
        <item name="colorOnPrimary">@color/primaryTextColor</item>
        <item name="colorSecondary">@color/secondaryColor</item>
        <item name="colorSecondaryVariant">@color/secondaryDarkColor</item>
        <item name="colorOnSecondary">@color/secondaryTextColor</item>
        <item name="android:windowBackground">@color/activityBackground</item>
    </style>
</resources>

...和:夜/colors.xml
<color name="primaryDarkColor">#430F58</color>
<color name="primaryColor">#F7F2F8</color>
<color name="secondaryColor">#9e9e9e</color>
<color name="secondaryDarkColor">#707070</color>
<color name="primaryTextColor">#eceff1</color>
<color name="activityBackground">#121212</color>

...mainActivity.kt:
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)

    }[enter image description here][1]
}

我的效果很好,但我的操作栏的颜色一直保持黑色。

你能帮助我吗 ?
谢谢

最佳答案

如果您希望在深色模式和普通模式下 ActionBar 颜色相同。
您可以使用

supportActionBar?.setBackgroundDrawable(getDrawable(R.color.color))
在 OnCreate()

关于android - 如何在夜间模式下更改深色操作栏的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642516/

相关文章:

android - Unity Android-针对x86_64体系结构的Cant Build

javascript - 主题/使用 javascript?

android - 实现夜间模式功能的正确方法

android - 应用程序中未检测到夜间模式状态 - 即使打开时也是如此

java - 如何让我的主题以编程方式转移到其他 Activity 中?

java - 以设定的时间间隔在单独的进程上触发 Android Activity 方法

Android:DDMS 视角与调试视角

Drupal 7 : how to add template file to/node/add/content-type

Android Canvas 改变背景颜色

javascript - ExtJS 6 自定义用户界面