it-swarm.com.ru

Изменить цвет заголовка панели действий

Мой код, как показано ниже, и хотя он работает (когда я изменяю родительскую тему на Theme.Sherlock или Theme.Sherlock.Light Theme, которую он меняет), он не меняет цвет заголовка.

Код почти такой же, как здесь

Код: 

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="MyTheme" parent="@style/Theme.Sherlock">
 <item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item>
 <item name="Android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>

<style name="MyTheme.ActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
     <item name="Android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title" >
     <item name="Android:textColor">#FF0000</item>
</style>

</resources>
30
mt0s

С сайта ActionBarSherlock Джейка Уортона:

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

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

Пришлось изменить MyTheme.ActionBarStyle на:

   <style name="MyTheme.ActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
     <item name="Android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
     <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
   </style>

Теперь цвет текста заголовка изменился. 

36
mt0s

я изменил цвет заголовка, как это 

actionBar.setTitle(Html.fromHtml("<font color='#ff0000'>ActionBarTitle </font>"));
49
MilapTank

Используйте код ниже, чтобы предоставить другой цвет тексту панели действий и фону панели действий, просто используйте тему ниже в манифесте против действия, в котором вы хотите выводить :)

 <style name="MyTheme" parent="@Android:style/Theme.Holo.Light">
        <item name="Android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@Android:style/Widget.Holo.Light.ActionBar">
        <item name="Android:titleTextStyle">@style/TitleBarTextColor</item>
        <item name="Android:background">YOUR_COLOR_CODE</item>
    </style>

    <style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="Android:textColor">YOUR_COLOR_CODE</item>
    </style>
13
Android is everything for me

Я перепробовал все вышеперечисленные методы, у меня это не работает.

Spannable text = new SpannableString(actionBar.getTitle());
text.setSpan(new ForegroundColorSpan(Color.BLUE), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
actionBar.setTitle(text);
7
Raja Jawahar

Простейший способ, который сработал для меня, это добавить следующее в стиле темы:

<item name="Android:textColorPrimary">@color/orange_dark</item>
4
user846316

в вашем файле style.xml в папке значений это изменит цвет панели действий. Замените # 666666 выбранным цветовым кодом для цвета фона заголовка и замените # 000000 на цвет текста вашего заголовка.

<style name="MyTheme" parent="@Android:style/Theme.Holo.Light">
    <item name="Android:actionBarStyle">@style/NewActionBar</item>
</style>

<style name="NewActionBar" parent="@Android:style/Widget.Holo.Light.ActionBar">
<item name="Android:titleTextStyle">@style/TitleBarTextColor</item>
<item name="Android:background">#666666</item>
</style>
<style name="TitleBarTextColor" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Menu">
    <item name="Android:textColor">#000000</item>
</style>

тогда не забудьте отредактировать файл манифеста -> Android: theme = "@ style/NewTheme"

    <application
    Android:allowBackup="true"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/NewTheme" >
    <activity
        Android:name="com.nearby.welcome.Splash"
        Android:label="@string/app_name" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>
2
Jesmeen Hoque

Если вы пытаетесь изменить текст заголовка, где у вас есть пользовательская панель инструментов, попробуйте добавить app:titleTextColor на панель инструментов, как показано ниже:

 <Android.support.v7.widget.Toolbar
        Android:id="@+id/my_toolbar"
        Android:layout_width="match_parent"
        Android:layout_height="?attr/actionBarSize"
        Android:background="?attr/colorPrimary"
        Android:elevation="4dp"
        Android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:titleTextColor="@color/colorWhite" />
1
Joe