ActionBar 自定义标题颜色

Posted

技术标签:

【中文标题】ActionBar 自定义标题颜色【英文标题】:ActionBar Custom Title Color 【发布时间】:2014-09-13 06:51:49 【问题描述】:
<?xml version="1.0" encoding="utf-8"?>

<style name="OmlActionBarTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/OmlActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/back_arrow</item>
    <item name="android:titleTextStyle">@style/OmlActionBarTitle</item>
    <item name="android:subtitleTextStyle">@style/OmlActionBarSubTitle</item>
</style>

<style name="OmlActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/action_bar_white</item>
</style>

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

<style name="OmlActionBarSubTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle">
    <item name="android:textColor">@color/action_bar_blue</item>
</style>

您好,我需要自定义我的 actionBar 标题文本颜色和子标题文本颜色。我使用了上述样式,但没有任何变化。

【问题讨论】:

【参考方案1】:

尝试以下...

style.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

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

    </style>

    <style name="MyActionBar"
           parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/theme_blue</item>
        <item name="titleTextStyle">@style/ActionBarTitleText</item>
        <item name="subtitleTextStyle">@style/ActionBarSubTitleText</item>
    </style>

    <style name="ActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/stdDarkBlueText</item>
        <item name="android:textSize">12sp</item>
    </style>

    <style name="ActionBarSubTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
        <item name="android:textColor">@color/stdDarkBlueText</item>
        <item name="android:textSize">12sp</item>
    </style>
</resources>

将此主题应用到清单文件中的应用程序..

AndroidManifest.xml

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_icon128"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" // apply theme here
    android:windowSoftInputMode="stateHidden" >

【讨论】:

【参考方案2】:

我已经完成了简单的一行代码

actionBar.setTitle(html.fromHtml("<font color='#ff0000'>ActionBartitle </font>"));

【讨论】:

以上是关于ActionBar 自定义标题颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义ActionBar上的后退按钮

Actionbar Sherlock:设置和隐藏标题栏

Android--ActionBar的基本用法

滚动 ListView 时推出/拉入 ActionBar

ActionBar样式解析

ActionBar样式解析