如何在夜间模式下更改深色动作条的颜色?

时间:2020-03-11 18:36:01

标签: android theming android-night-mode

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

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

... values / styles.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>

... and:night / 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]
}

效果很好,但动作栏的颜色始终保持黑色。

你能帮我吗? 谢谢

1 个答案:

答案 0 :(得分:0)

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

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

在 OnCreate() 中