我想要在 Material Components 主题中更改标题栏文本颜色。非常感谢您的帮助。

huangapple go评论82阅读模式
英文:

I want to change title bar text color in material Components theme. Any help will be greatly appreciated

问题

我尝试设置标题颜色,但已被弃用。我尝试使用以下方法更改颜色:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>

<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">@color/red</item>
</style>

如此处所述:https://stackoverflow.com/questions/5861661/actionbar-text-color,但在执行此操作时,整个标题栏颜色会变为白色。
我想要做的只是将我的黑色标题栏文字颜色设置为白色。
我还尝试了这个解决方案:https://stackoverflow.com/questions/23801252/change-color-title-bar,但我正在使用MaterialComponents主题,使用AppCompactThemes会导致我的应用崩溃。

英文:

I tried set title color but it is deprecated. I tried to change color by using

  &lt;style name=&quot;MyTheme&quot; parent=&quot;@android:style/Theme.Holo.Light&quot;&gt;
    &lt;item name=&quot;android:actionBarStyle&quot;&gt;@style/MyTheme.ActionBarStyle&lt;/item&gt;
  &lt;/style&gt;

  &lt;style name=&quot;MyTheme.ActionBarStyle&quot; parent=&quot;@android:style/Widget.Holo.Light.ActionBar&quot;&gt;
    &lt;item name=&quot;android:titleTextStyle&quot;&gt;@style/MyTheme.ActionBar.TitleTextStyle&lt;/item&gt;
  &lt;/style&gt;

  &lt;style name=&quot;MyTheme.ActionBar.TitleTextStyle&quot; parent=&quot;@android:style/TextAppearance.Holo.Widget.ActionBar.Title&quot;&gt;
    &lt;item name=&quot;android:textColor&quot;&gt;@color/red&lt;/item&gt;
  &lt;/style&gt;

as mentioned here: https://stackoverflow.com/questions/5861661/actionbar-text-color but the whole Titlebar color changes to white while doing it.
All I want to do is set my Black Title bar text color to white.
I also tried this solution here: https://stackoverflow.com/questions/23801252/change-color-title-bar but I am using the MaterialComponents theme and using AppCompactThemes makes my app crash.

答案1

得分: 4

假设您没有使用 Toolbar,ActionBar 中使用的文本颜色基于属性 android:textColorPrimary。您可以通过在应用主题中添加 actionBarTheme 属性来进行覆盖:

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
    <item name="actionBarTheme">@style/ThemeOverlay.Actionbar</item>
</style>

并在其中添加:

<style name="ThemeOverlay.Actionbar" parent="ThemeOverlay.MaterialComponents.ActionBar.Surface">
    <item name="android:textColorPrimary">@color/....</item>
</style>

我想要在 Material Components 主题中更改标题栏文本颜色。非常感谢您的帮助。

作为另一种选择,您可以...

英文:

Assuming that you are not using a Toolbar the textcolor used in the ActionBar is based on the attribute android:textColorPrimary.
You can override it adding in your app theme the actionBarTheme attribute:

&lt;style name=&quot;AppTheme&quot; parent=&quot;Theme.MaterialComponents.DayNight&quot;&gt;
    &lt;item name=&quot;actionBarTheme&quot;&gt;@style/ThemeOverlay.Actionbar&lt;/item&gt;
&lt;/style&gt;

with:

&lt;style name=&quot;ThemeOverlay.Actionbar&quot; parent=&quot;ThemeOverlay.MaterialComponents.ActionBar.Surface&quot; &gt;
        &lt;item name=&quot;android:textColorPrimary&quot;&gt;@color/....&lt;/item&gt;
&lt;/style&gt;

我想要在 Material Components 主题中更改标题栏文本颜色。非常感谢您的帮助。

As alternative you can

答案2

得分: 3

以下是翻译好的内容:

只需将此内容添加到您的基础主题中:

<item name="titleTextColor">@android:color/holo_red_dark</item> //无论什么颜色

例如:

<!-- 基础应用程序主题。 -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- 在此自定义您的主题。 -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="titleTextColor">@android:color/holo_green_dark</item>
</style>
英文:

just add this to you base theme

 &lt;item name=&quot;titleTextColor&quot;&gt;@android:color/holo_red_dark&lt;/item&gt; //whatever color

Eg:

&lt;!-- Base application theme. --&gt;
    &lt;style name=&quot;AppTheme&quot; parent=&quot;Theme.AppCompat.Light.DarkActionBar&quot;&gt;
        &lt;!-- Customize your theme here. --&gt;
        &lt;item name=&quot;colorPrimary&quot;&gt;@color/colorPrimary&lt;/item&gt;
        &lt;item name=&quot;colorPrimaryDark&quot;&gt;@color/colorPrimaryDark&lt;/item&gt;
        &lt;item name=&quot;colorAccent&quot;&gt;@color/colorAccent&lt;/item&gt;
        &lt;item name=&quot;titleTextColor&quot;&gt;@android:color/holo_green_dark&lt;/item&gt;

    &lt;/style&gt;

huangapple
  • 本文由 发表于 2020年7月25日 23:16:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/63090017.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定