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

如何在ActionBarSherlock设置标题颜色?

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

Solutions Collecting From Web of "如何在ActionBarSherlock中设置标题颜色?"

从ActionBarSherlock网站

家长主题

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

镜像属性

由于Android主题系统的限制,任何主题自定义都必须声明为两个属性。 正常的Android前缀属性将主题应用到本机操作栏,并且前缀的属性用于自定义实现…

简而言之,这意味着您在deviseActionBar时需要省略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> 

注意

我没有testing过这个。 另外, 你有什么尝试? 您应该在将来在SO上发布之前进行search。

你可以轻松地做到这一点

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

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

在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(主题);

就是这个。

你可以通过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)); 

我想你试图改变菜单上的文本颜色,而不是标题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">