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

San*_*uys 14 android actionbarsherlock

如何设置标题颜色ActionBarSherlock

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

Ajm*_*lim 43

您可以轻松地执行此操作

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


adn*_*eal 35

来自ActionBarSherlock网站

家长主题

为了使自定义操作栏实现功能,您的应用程序必须使用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>
Run Code Online (Sandbox Code Playgroud)

注意

我没有测试过这个.还有,你试过了什么?您应该在将来发布到SO之前进行搜索.

  • textColor会抛出错误吗?有任何想法吗 ? (4认同)
  • 没有必要,你可以删除它 (4认同)
  • 有2个错误的机器人:actionBarStyle和机器人:titleTextStyle: "机器人:actionBarStyle需要API级11(电流分钟为10)".怎么克服这个? (2认同)

sho*_*uro 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>
Run Code Online (Sandbox Code Playgroud)

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

public static int THEME = R.style.Theme_Styled;

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

setTheme(主题);

就是这个.