如何更改 Material Design ActionBar 的文本?

Posted

技术标签:

【中文标题】如何更改 Material Design ActionBar 的文本?【英文标题】:How do I change the text of the Material Design ActionBar? 【发布时间】:2014-06-30 15:09:00 【问题描述】:

我正在尝试使用新的 Material Design 制作一个 android 应用程序,但我不知道如何更改 ActionBar 上文本的颜色。

我有这个:

<style name="AppTheme" parent="@android:style/Theme.Material.Light">
    <item name="android:colorPrimary">#ff3d00</item>
    <item name="android:colorPrimaryDark">#dd2c00</item>
    <item name="android:colorAccent">#ff3d00</item>
</style>

但是看起来像这样:

我不太喜欢橙色背景上的黑色文字。我试着这样做:

<style name="AppTheme" parent="@android:style/Theme.Material">
    <item name="android:colorPrimary">#ff3d00</item>
    <item name="android:colorPrimaryDark">#dd2c00</item>
    <item name="android:colorAccent">#ff3d00</item>
</style>

看起来像这样:

如您所见,ActionBar 文本的颜色确实发生了变化,但背景变成了灰色,这是我不喜欢的。

我应该怎么做呢?提前致谢!

【问题讨论】:

【参考方案1】:

我认为在这种情况下,将样式更改为 Theme.Material.Light.DarkActionBar 就足够了。您将获得浅色的界面元素,但是带有浅色标题文本的“深色”ActionBar。

【讨论】:

感谢修复! 出于好奇,改变 windowBackground 颜色是否也有效?从这里标记的数字:developer.android.com/preview/material/theme.html 文字颜色可以改成别的吗? DarkActionBar 给了我与 API 17 的向后兼容性问题【参考方案2】:

在您的 build.grade 项目依赖项中添加 appcompat-v7:21.0.0

..

dependencies 
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:21.0.0'
    compile 'com.android.support:support-v4:21.0.0'
    .....

然后从 appcompat 继承你的风格

<style name="AppTheme" parent="@style/Theme.AppCompat">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
       ........
</style>

【讨论】:

以上是关于如何更改 Material Design ActionBar 的文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建 Material Design 径向反应动画

在 WPF 中更改 Material Design DatePicker 的外观

如何使用Material Design在Alert Dialog Fragment中设置按钮样式?

更改 AngularJS Material 图标的图标大小

如何协调 Font-Awesome 和 Material Design 图标字体?

如何随机获得 Material Design 颜色?