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

时间:2012-04-27 13:57:12

标签: android actionbarsherlock

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

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

5 个答案:

答案 0 :(得分:43)

您可以使用

轻松完成此操作
getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffffff'>App Name</font>"));

答案 1 :(得分:35)

来自ActionBarSherlock website

家长主题

  

为了使自定义操作栏实现功能,您的应用程序必须使用Theme.Sherlock,Theme.Sherlock.Light或Theme.Sherlock.Light.DarkActionBar,否则您的自定义主题必须使用前面提到的其中一个作为其父级。

镜像属性

  

由于Android主题系统的限制,必须在两个属性中声明任何主题自定义。正常的android-prefixed属性将主题应用于本机操作栏,未加前缀的属性用于自定义实现...

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

标题标题颜色

<?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之前进行搜索。

答案 2 :(得分:24)

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

在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()方法

之前

<强> setTheme(主题);

就是这样。

答案 3 :(得分:1)

你可以在style.xml或编程中的2个地方做到这一点 1.从style.xml

2.Or in code

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

或者使用操作栏你也可以实现这个

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

答案 4 :(得分:1)

我认为您正在尝试更改菜单上的文字颜色,而不是 ActionBarSherlock中标题中的文字颜色

使用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.Title">

交换parent = "TextAppearance.Sherlock.Widget.ActionBar.Menu">即可