我正在尝试使用主题更改默认操作栏中文本的文本颜色。我可以轻松更改状态栏的背景,但无论我做什么,操作栏中的文本都保持不变:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.MyAapp" parent="Theme.AppCompat.DayNight">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/ocean</item>
<item name="colorPrimaryVariant">@color/light_ocean</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/ocean</item>
<item name="colorSecondaryVariant">@color/dark_ocean</item>
<item name="colorOnSecondary">@color/ocean</item>
<!-- Status bar color. -->
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
是否可以在 Theme.AppCompat.DayNight 中覆盖它?我需要使用这个主题。我将感谢您的帮助。
<!-- Base application theme. --> <style name="Theme.MyAapp" parent="Theme.AppCompat.DayNight"> <!-- Primary brand color. --> <item name="colorPrimary">@color/ocean</item> <item name="colorPrimaryVariant">@color/light_ocean</item> <item name="colorOnPrimary">@color/white</item> <!-- Secondary brand color. --> <item name="colorSecondary">@color/ocean</item> <item name="colorSecondaryVariant">@color/dark_ocean</item> <item name="colorOnSecondary">@color/ocean</item> <!-- Status bar color. --> <!-- Status bar color. --> <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> <!-- Customize your theme here. --> <item name="android:actionBarStyle">@style/ThemeOverlay.MaterialComponents.ActionBar</item> </style> <style name="hemeOverlay.MaterialComponents.ActionBar" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar"> <item name="android:textColor">@color/black</item> </style>
您需要使用父级:Widget.AppCompat.ActionBar 定义toolbar_style,如下例所示:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/highlightRed</item>
<item name="actionBarTheme">@style/toolbar_style</item>
</style>
<style name="toolbar_style" parent="Widget.AppCompat.ActionBar">
<item name="android:textColorPrimary">@color/white</item>
</style>