Изменить цвет текста ActionBar после наследования Theme.AppCompat.DayNight - PullRequest
1 голос
/ 01 ноября 2019

Я реализую поддержку темного режима. Но после того, как я изменил родителя темы на Theme.AppCompat.DayNight , текст на панели действий становится черным (черный в дневном режиме и белый в темном режиме). Я хочу, чтобы текст всегда был белым. Я пытался изменить цвет текста в styles.xml (values ​​and values-night)

<style name="AppTheme" parent="Theme.AppCompat.DayNight">
  <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>

<style name="MyActionBarStyle" parent="Theme.AppCompat.DayNight.DarkActionBar">
  <item name="android:titleTextStyle">@style/MyActionBarTitleTextStyle</item>
</style>

<style name="MyActionBarTitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
  <item name="android:textColor">@color/white</item>
</style>

, но он не работает. Цвет текста заголовка в ActionBar по-прежнему черный.

1 Ответ

0 голосов
/ 01 ноября 2019

Используя ActionBar в своей теме, вы должны использовать атрибут actionBarStyle:

<style name="AppTheme" parent="Theme.AppCompat.DayNight">
   <item name="actionBarStyle">@style/....</item>
</style>

<style name="MyActionBarStyle" parent="Theme.AppCompat.DayNight.DarkActionBar">
  <item name="titleTextStyle">@style/...</item>
</style>

Если вы используете Toolbar API, вы также можете использовать

 <Toolbar
   app:titleTextColor="@color/...."
   ../>

Вместо этого с библиотекой компонентов материалов и API Toolbar вы можете использовать:

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
   <item name="toolbarStyle">@style/my_Toolbar</item>
</style>

<style name=my_Toolbar" parent="@style/Widget.MaterialComponents.Toolbar">
    <item name="titleTextColor">@color/...</item>
</style>    
...