android - 如何从 MaterialComponents.DayNight 主题更改工具栏文本颜色?

标签 android android-toolbar android-styles material-components material-components-android

我在我的应用中使用 MaterialComponents.DayNight 主题。在白天模式下,工具栏文本颜色为黑色。但是当我切换到夜间模式时,工具栏文本颜色保持黑色,所以它不再可见。

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

我想在夜间模式下将工具栏文本颜色更改为白色。我该怎么做?

最佳答案

只需在您的布局中使用(它也适用于 androidx.appcompat.widget.Toolbar)样式:

<com.google.android.material.appbar.MaterialToolbar
    style="@style/Widget.MaterialComponents.Toolbar.Primary"

然后在values-night/colors.xml中定义colorOnPrimary

那就有很多选择了。
您可以通过以下方式全局自定义应用主题中工具栏的样式:

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

与:

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

并在 values/colors.xmlvalues-night/colors.xml 中定义颜色。

或者只是在工具栏中应用一个样式

<com.google.android.material.appbar.MaterialToolbar
    style="@style/MyToolbar"

或者简单地覆盖主题:

<com.google.android.material.appbar.MaterialToolbar
   android:theme="@style/MyThemeOverlay_Toolbar"

与:

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <item name="colorOnPrimary">@color/...</item>
  </style>

关于android - 如何从 MaterialComponents.DayNight 主题更改工具栏文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613443/

相关文章:

java - 在 EditText 上禁用剪贴板建议中的粘贴

android - 如何为工具栏制作圆角?

java - 更改android顶部栏的背景颜色

java - getHeight 和 getMeasuredHeight 返回 0,即使在 Runnable 中也是如此

android - 如何从 ListView 中跳过一个 View ?

java - AppCombat 工具栏中不显示图标和标题

java - 移除 android.widget.Toolbar 阴影

Android 工具栏覆盖内容

android - 删除android sqlite数据库中的前N行

android - 如何在android中将单个菜单项添加到工具栏?