当前位置: 首页 > 知识库问答 >
问题:

在AppCompat 21中使用Light.Dark ActionBar主题更改ActionBar标题文本颜色

孙绍辉
2023-03-14

我正在使用v7 AppCompat21库在Lollipop之前的设备上使用新的素材样式。我的styles.xml如下所示:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:textColorPrimary">#ff0000</item>
    <item name="android:textColorPrimaryInverse">#ff0000</item>
</style>

我正在尝试更改操作栏上的文本颜色。但无论我为textColorPrimary或TextColorPrimaryYinVerse放了什么,颜色总是白色的。如果我从Theme.AppCompat继承,我可以重写“TextColorPrimary”,如果我从Theme.AppCompat.Light继承,我可以重写“TextColorPrimaryInverse”。但在使用Light.DarkActionBar主题时两者都不起作用。

我肯定会使用AppTheme,因为设置colorPrimary这样的属性来更改actionbar背景色可以很好地工作。我没有使用任何其他资源限定符样式文件。

我翻遍了android styles的文件,似乎不知道要重写什么属性。有什么想法吗?这是appcompat错误吗?

共有2个答案

松高爽
2023-03-14

这将使您的工具栏标题使用白色:

<android.support.v7.widget.Toolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

若要了解ThemeOverlay.AppCompat.Dark.ActionBarTheme.AppCompat.Light.DarkActionBar之间的区别,请检查以下答案

app:theme=“@style/themeoverlay.appcompat.dark.actionbar”应用浅色,因为此主题中使用的标题颜色是白色。

范飞翰
2023-03-14

您可以使用主题的ActionBarstyle属性对其进行更改。

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>

<style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">CHANGE_COLOR_HERE</item>
</style>
 类似资料:
  • 如何更改以下首选项XML中和的颜色: 我尝试了我的: 更改标题的颜色,但它也会更改我工具栏中文本的颜色(我不想要)。 似乎正确地更改了摘要的颜色。 如何在不影响工具栏文本颜色的情况下更改标题颜色?

  • 补充说,我想从这个问题中找到的根本问题是,尽管XML文件的任何部分、AndroidManifest.XML或代码中都没有定义标题,但在工具栏中的应用程序名称是如何在默认情况下设置标题的。

  • 如何更改所有按钮的文本颜色? 我知道我可以像下面这样设置背景色:

  • 标题文字颜色的动作是不改变的,如何改变标题文字颜色的动作栏?这是我的风格。xml 风格xml

  • 我正在尝试在Android的ActionBar上做一些事情。 我已经在操作栏的右侧添加了新项目。 如何更改操作栏的左侧?我想改变图标和文本,我想在其他屏幕的操作栏中添加一个“后退按钮

  • 问题内容: 我正在尝试一些非常简单的方法:使用Material-UI主题为网站构建两个主题: 一个主题和一个主题,但效果不佳:该主题位于每个Material-UI react元素上,但是html文档上的root元素仍具有相同的默认白色背景。 当然,可以通过使用纯.css攻击身体来更改它: 但是我一直想用React动态地更改它,尽管这可以工作,但是不能: 而且我在这里迷路了,有没有办法用Materi