如何设置标题颜色ActionBarSherlock?(How to set title color

2019-06-24 00:34发布

如何设置标题颜色ActionBarSherlock

我应该使用哪种主题化的属性?

Answer 1:

从ActionBarSherlock网站

父主题

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

镜像的属性

由于Android的主题化系统限制任何主题的自定义必须在两个属性来声明。 正常Android的前缀属性应用主题到本机操作栏和前缀的属性是自定义实现...

总之,这意味着你需要离开了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>

注意

我没有测试过这一点。 另外, 你尝试过什么? 发布前,应该寻找SO的未来。



Answer 2:

您可以轻松地做到这一点与

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


Answer 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>

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

公共静态INT主题= R.style.Theme_Styled;

此行之前super.onCreate()方法进行

setTheme(主题);

就是这个。



Answer 4:

我认为你正在试图改变文字颜色,是在菜单上,而不是文本的颜色,是在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">



Answer 5:

你可以从2个地方无论是在style.xml或编程做
1.从style.xml

2.Or代码

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>"));


文章来源: How to set title color in ActionBarSherlock?