【问题标题】:How to set title color in ActionBarSherlock?如何在 ActionBarSherlock 中设置标题颜色?
【发布时间】:2012-04-27 13:57:11
【问题描述】:

如何在ActionBarSherlock中设置标题颜色?

我应该使用哪些主题属性?

【问题讨论】:

  • 文本(标题)的颜色;还是条的颜色?
  • @style/CustomActionBarStyle 我使用的是最低版本 7,上面的 andriod: prefix is not support getting error required min sdk version 11.There是设置标题栏背景颜色或图像的任何其他建议。

标签: android actionbarsherlock


【解决方案1】:

你可以很容易地做到这一点

getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffffff'>App Name</font>"));

【讨论】:

  • 好答案。可以在所有级别的 api 中正常工作。
  • 在处理了样式并且没有让它工作之后(在真正筛选 SO 之后!) - 这种方法有效!谢谢!
  • 简单有效!
  • 完美、简单、有效的技巧!!谢谢
  • 看起来简单而优雅的答案。但对我不起作用..不知道为什么。
【解决方案2】:

来自ActionBarSherlock website

父主题

为了使自定义操作栏实现正常运行,您的应用程序必须使用 Theme.Sherlock、Theme.Sherlock.Light 或 Theme.Sherlock.Light.DarkActionBar,或者您的自定义主题必须使用上述其中之一作为其父主题。

镜像属性

由于 Android 主题系统的限制,任何主题自定义都必须在两个属性中声明。普通的 android-prefixed 属性将主题应用于本机操作栏,而 unprefixed 属性用于自定义实现...

简而言之,这意味着在设置 ActionBar 的样式时需要省略 android: 前缀。

标题颜色主题化

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YOURTHEME" parent="Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
<item name="actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
</style>

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

<style name="YOURTHEME.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">@color/YOUR_COLOR</item>
<item name="textColor">@color/YOUR_COLOR</item>
</style>
</resources>

注意

我没有测试过这个。另外,what have you tried? 以后在SO 发帖之前应该先搜索一下。

【讨论】:

  • 是的,我知道,但我没有找到关于“titleTextStyle”属性的信息,谢谢!
  • 不需要,可以删除
  • android:actionBarStyle 和 android:titleTextStyle 有 2 个错误:“android:actionBarStyle 需要 API 级别 11(当前最小值为 10)”。如何克服这个问题?
  • 如果您的 minSdkVersion 小于 11,您将需要两个文件:values/styles.xml 和 values-v11/styles.xml。 android:-prefixed 项应该进入 values-v11/styles.xml。
【解决方案3】:

我已经改变了这种方式的标题颜色:

在 Styles.xml 文件中,我添加了这些样式

<style name="Theme.Styled" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/CustomActionBarStyle</item>
    <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

<style name="CustomActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
    <item name="titleTextStyle">@style/CustomTitleColorBar</item>
    <item name="android:titleTextStyle">@style/CustomTitleColorBar</item>
</style>

<!-- Style for the color title bar -->
<style name="CustomTitleColorBar" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@android:color/white</item>
</style>

我做的最后一件事是在活动中设置主题:

public static int THEME = R.style.Theme_Styled;

这一行在 super.onCreate() 方法之前

设置主题(主题);

就是这样。

【讨论】:

  • 你需要父样式中的“@style/”还是没有它也可以工作?
  • 如何使用此解决方案更改背景?
【解决方案4】:

我认为您正在尝试更改 Menu 上的文本颜色,而不是 ActionBarSherlockTitle 中的文本颜色强>.

当您使用getSupportActionBar().SetTitle("My Title") 设置此文本的样式时,您应该使用代码@Archie.bpgc。他的回答是正确的,但我相信你需要以下代码:

<style name="MyTheme.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">24sp</item>
    <item name="android:gravity">center</item>
</style>

看到你只是用parent = "TextAppearance.Sherlock.Widget.ActionBar.Menu"&gt;交换parent =" TextAppearance.Sherlock.Widget.ActionBar.Title"&gt;

【讨论】:

    【解决方案5】:

    您可以从 style.xml 中的 2 个位置或以编程方式执行此操作
    1.来自style.xml

    2.或者在代码中

    int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");  
    TextView yourTextView = (TextView)findViewById(titleId);
    yourTextView.setTextColor(getResources().getColor(R.color.myColor));
    

    或者使用actionbar也可以实现这个

    getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffffff'>App Name</font>"));
    

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 2011-07-17
      • 1970-01-01
      • 2019-05-02
      相关资源
      最近更新 更多