Как установить цвет заголовка в ActionBarSherlock?

Как установить цвет заголовка в ActionBarSherlock?

Какие атрибуты для отображения я должен использовать?

Ответы

Ответ 1

От веб-сайт ActionBarSherlock

Родительские темы

Для того, чтобы пользовательская панель действий функционировала, ваше приложение должно использовать Theme.Sherlock, Theme.Sherlock.Light или Theme.Sherlock.Light.DarkActionBar, или ваша пользовательская тема должна использовать один из вышеперечисленных в качестве родителя.

Зеркальные атрибуты

Из-за ограничений в системе Android для Android любая настройка темы должна быть объявлена ​​двумя атрибутами. Нормальные атрибуты anroid-prefixed применяют тему к собственной панели действий, а атрибуты unprefixed для пользовательской реализации...

Короче говоря, это означает, что вам нужно оставить префикс 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 в будущее.

Ответ 2

Вы можете легко сделать это с помощью

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

Ответ 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()

setTheme (ТЕМА);

вот оно.

Ответ 4

вы можете сделать это из 2-х мест либо в style.xml, либо программно
1.From 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));

Ответ 5

Я думаю, вы пытаетесь изменить цвет текста, который находится в Меню, а не цвет текста, который находится в Название в 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">