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

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

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

Solutions Collecting From Web of "Как установить цвет заголовка в ActionBarSherlock?"

С сайта ActionBarSherlock

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

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

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

Из-за ограничений в тематической системе 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 в будущем.

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

 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 (ТЕМА);

это оно.

Вы можете сделать это из 2-х мест либо в стиле.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)); 

Я думаю, вы пытаетесь изменить цвет текста, который находится в меню , а не цвет текста, который находится в заголовке в ActionBarSherlock .

Когда вы используете getSupportActionBar().SetTitle("My Title") чтобы 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">