Как установить цвет заголовка в 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">