【问题标题】:Change color title bar更改颜色标题栏
【发布时间】:2023-10-08 14:26:01
【问题描述】:

我想更改标题栏的颜色。我试过这个:

<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <item name="android:actionBarStyle">@style/ColorBar</item>
</style>

<style name="ColorBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@color/white</item>
    <item name="android:textColor">@color/orange</item>
</style>

但它不起作用。我上面显示的代码有什么问题?

编辑:这是我要更改的文本的颜色,而不是背景(它正在为背景运行)

【问题讨论】:

  • 我不能在 xml 中做到这一点?在每个活动中都这样做是没用的:(

标签: android colors titlebar


【解决方案1】:

这应该适用于所有设备,您将需要支持库 (appcompat_v7)

<style name="Theme" parent="@style/BaseTheme"></style>

<style name="BaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarStyle">@style/ActionBar</item>
    <item name="android:actionBarStyle">@style/ActionBar</item>
</style>

<style name="ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="android:background">@color/orange </item>
    <item name="background">@color/orange </item>
    <item name="android:titleTextStyle">@style/ActionBar.Text</item>
    <item name="titleTextStyle">@style/ActionBar.Text</item>
</style>

<style name="ActionBar.Text" parent="@android:style/TextAppearance.Medium">
    <item name="android:textColor">@color/orange</item>
</style>

清单:

 android:theme="@style/Theme"

【讨论】:

  • 有个错误,不是我要改的背景,而是标题栏的文字,对不起
  • 更新了我的答案 :) ...背景和文字现在都是橙色的,所以...是的,更改其中一个 :)
  • 它说我没有找到 atttilteTextStyle
【解决方案2】:

安卓版本可能有问题。你应该考虑旧的和新的。尝试为不同的版本添加这两行。

<item name="android:background">@drawable/your_color</item>
<item name="background">@drawable/your_color</item>

【讨论】:

  • 有个错误,不是我要改的背景,而是标题栏的文字,对不起。
【解决方案3】:

将父级更改为parent="@android:style/Widget.Holo.Light.ActionBar.Solid" 有影响吗?

如果没有,请告诉我如果你移动了会发生什么

&lt;item name="android:actionBarStyle"&gt;@style/ColorBar&lt;/item&gt; 改成AppBaseTheme 样式


尝试设置所有这些:

    <item name="android:background">@color/something</item>
    <item name="android:backgroundStacked">@color/something</item>
    <item name="android:backgroundSplit">@color/something</item>

【讨论】:

    【解决方案4】:

    这是一种通过Java设置actionbar-title颜色的简单方法

    getActionBar().setTitle(Html.fromHtml("<font color=\"#ffffff\">" + "TITLE" + "</font>"));
    

    如果您使用的是支持库,则可以使用getSupportActionBar();

    【讨论】:

      【解决方案5】:

      我对这一切都很陌生,但我发现转到 Res > Value > colors.xml 更容易,从那里您可以更改“原色”。这将标题栏更改为我选择的颜色。

      【讨论】: