【问题标题】:Actionbar Sherlock Change Title Color操作栏 Sherlock 更改标题颜色
【发布时间】:2012-12-21 11:07:40
【问题描述】:

我正在尝试主题 Sherlock 操作栏。我想将标题的颜色设置为白色。当我尝试执行以下操作时,标题会一起消失。

我还想更改按下时操作项图标的背景颜色。

我尝试了什么?

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

    <!-- Variation on the Holo Light theme that styles the Action Bar -->
    <style name="Theme.Nomad" parent="Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/Widget.Nomad.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.Nomad.ActionBar</item>
        <item name="android:actionBarItemBackground">@drawable/actionbar_selectable_background</item>
        <item name="actionBarItemBackground">@drawable/actionbar_selectable_background</item>
        <item name="android:titleTextStyle">@style/TitleText</item>
        <item name="titleTextStyle">@style/TitleText</item>

        <!--
        <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
        <item name="popupMenuStyle">@style/MyPopupMenu</item>

        <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="dropDownListViewStyle">@style/MyDropDownListView</item>

        <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
        <item name="actionBarTabStyle">@style/MyActionBarTabStyle</item>

        <item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
        <item name="actionDropDownStyle">@style/MyDropDownNav</item>

        <item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
        <item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>

        <item name="android:actionOverflowButtonStyle">@style/MyOverflowButton</item>


        -->
    </style>

    <style name="Widget.Nomad.ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="android:background">#E5492A</item>
        <item name="background">#E5492A</item>
    </style>

    <style name="TitleText" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textColor">@android:color/white</item>
        <item name="textColor">@android:color/white</item>
        <item name="android:textSize">18dip</item>
        <item name="textSize">18dip</item>
    </style>

</resources>

【问题讨论】:

    标签: android android-actionbar actionbarsherlock android-theme


    【解决方案1】:

    我不确定项目背景,但对于文本颜色,您可以:

    • 在 Widget.Nomad.ActionBar 中添加这些项目(样式与父 Widget.Sherlock.ActionBar):

      <item name="android:titleTextStyle">@style/TitleText</item>
      <item name="titleTextStyle">@style/TitleText</item>
      
    • 地点:

      <style name="TitleText" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
          <item name="android:textColor">@android:color/white</item>
          <item name="android:textSize">18sp</item>
      </style>
      

    【讨论】:

    • 我已经添加了。但这无济于事:(
    • 我知道您可以编写一个 xml 文件,为您的操作项定义可绘制状态(并将其添加为项目的背景),就像任何其他按钮一样,但我不确定是否有任何方法可以使用操作栏样式来做到这一点
    • 尝试在 Widget.Nomad.ActionBar 中移动 titleTextStyle 和 android:titleTextStyle
    • 应该是Widget.Nomad.ActionBar的属性
    • @Tamara 您对 titleTextStyle 作为操作栏样式的一部分的评论让我感到困惑。对于跳过 cmets 的人,我建议将其放入答案中。
    【解决方案2】:

    最好的解决方案是这个!

    actionBar.setTitle(Html.fromHtml("<font color=\"#ffffff\"><b>" + AppName + "</b></font>"));
    

    我保证这会很有帮助!祝你好运!

    【讨论】:

      最近更新 更多