如何在新工具栏中更改标题文本和按钮颜色而不更改操作溢出菜单文本颜色?

外狐

我在项目中使用android.support.v7.widget.Toolbar。默认情况下,在浅色主题中,它具有黑色动作溢出菜单图标,黑色标题和黑色溢出菜单文本颜色,例如(不要查看导航图标-这是自定义的):

默认工具栏看起来像 在此处输入图片说明

但是在我的应用程序中,我需要将其设置为白色。我在工具栏样式中将android:textColorPrimary设置为白色:

<style name="Widget.My.Toolbar" parent="Widget.AppCompat.Toolbar">
    <item name="theme">@style/ThemeOverlay.My.Toolbar</item>
</style>

<style name="ThemeOverlay.My.Toolbar" parent="ThemeOverlay.AppCompat.ActionBar">
    <item name="android:textColorPrimary">@color/white</item>
</style>

就像我想要的那样,它更改了标题和溢出菜单按钮的颜色,但它也更改了操作顺流菜单项的文本颜色: 在此处输入图片说明

看起来很丑。我什至尝试以编程方式设置标题颜色

toolbar.setTitleTextColor(getResources.getColor(R.color.white);

但只会更改标题颜色,而不会更改菜单按钮: 在此处输入图片说明

那么,如何为工具栏中的所有内容更改颜色,但动作溢出菜单中的项目除外?

威利斯

Toolbar设置文本颜色后,可以使用以下属性设置菜单的文本颜色:

<item name="actionMenuTextColor">@color/white</item>

Toolbar如上所示,由于您使用的是AppCompat,因此无需在属性中包含android名称空间。

但是,似乎人们对此有不同的经验。您也可以尝试使用itemTextAppearance属性:

<style name="yourTheme" parent="yourThemeParent">
    <!-- Rest of your theme -->
    <item name="android:itemTextAppearance">@style/menuItemColor</item>
</style>

<style name="menuItemColor">
    <item name="android:textColor">@android:color/black</item>
</style>

我发现,当我Toolbar在布局中明确包含a时,第一个解决方案对我有用,但如果我过去习惯getSupportActionBar()将给定主题中包含的默认栏包含在内,则不可行。但是,在这种情况下,第二个解决方案确实对我有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Android中更改折叠工具栏的文本颜色和折叠工具栏的后退按钮颜色

Android工具栏溢出菜单将文本颜色和填充菜单更改为屏幕

在工具栏菜单中更改文本的颜色

如何更改工具栏中 SearchView 的文本颜色?

如何在工具栏按钮中更改文本?

更改工具栏中的标题颜色?

在工具栏中更改标题的颜色和大小-Android

更新工具栏中的androidx SearchView文本颜色

如何在单击按钮时更改工具栏颜色?

如何更改工具栏上的更改文本和箭头颜色?

如何在Android Studio中更改操作栏的颜色文本

如何在操作栏中更改微调器文本颜色

如何在材质设计中更改操作栏的菜单项文本颜色

无法更改操作栏标题文本的颜色

如何更改操作栏溢出按钮的颜色

如何在不创建新工具栏布局的情况下使用XML更改Android工具栏背景颜色

如何在Swift中更改工具栏颜色

如何在BottomBarPage中更改工具栏背景颜色

如何在androidx工具栏中更改菜单图标的颜色?

如何在自定义创建的工具栏中更改菜单的颜色?

如何更改tinymce 5中工具栏菜单按钮项中的文本?

更改材质工具栏中的溢出菜单图标的颜色

如何在Android中更改工具栏后退按钮的颜色?

如何在Unity中更改按钮的文本和图像颜色?

如何更改基于操作栏文本的按钮颜色?

如何获得工具栏的标题文本颜色?

更改棒棒糖工具栏文本颜色

在不同的Android版本上动态更改工具栏菜单项的文本颜色

复制文本时如何更改文本选择工具栏的颜色?