Actionbar Совместимость изменить название textColor

Я пытаюсь изменить цвет текста заголовка ActionBarSupport. Я использовал ActionBarStyleGenererator для создания темы с правильными цветами, и она работает хорошо.

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

Что я здесь делаю неправильно?

<style name="ActionBar.Transparent.MyApp" parent="@style/Widget.AppCompat.Light.ActionBar"> <item name="background">@drawable/ab_transparent_myapp</item> <item name="progressBarStyle">@style/ProgressBar.MyApp</item> <item name="titleTextStyle">@style/MyApp.TitleTextStyle</item> </style> <style name="MyApp.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.Base.ActionBar.Title"> <item name="android:textColor">#ffffff</item> </style> 

Код ниже работал для меня. Надеюсь, это поможет вам сделать это.

 <style name="AppTheme" parent="AppBaseTheme"> <item name="actionBarStyle">@style/ActionBarCompat</item> </style> <style name="ActionBarCompat" parent="@style/Widget.AppCompat.Base.ActionBar"> <item name="titleTextStyle">@style/titleStyle</item> </style> <style name="titleStyle" parent="@style/TextAppearance.AppCompat.Widget.Base.ActionBar.Title"> <item name="android:textColor">@android:color/white</item> </style> 

Неловко. Я не обращал внимания на значения-v14 / -folder (который переопределяет значения vales /) ActionBarStyleGenererator. Используя android-префикс в стилях в значениях-v14, он работал:

  <item name="android:titleTextStyle">@style/titleTextStyle</item> 

Найденный при моделировании переполнения

Я пытаюсь сохранить цвет текста заголовка ActionBar через изменения ориентации без большой удачи, пока не получу ключ от вышеупомянутого сайта. Я применил Spannable к названию. Вот что я делаю при настройке моего ActionBar:

  Spannable actionBarTitle = new SpannableString("Action Bar Title"); actionBarTitle.setSpan( new ForegroundColorSpan(Color.WHITE), 0, actionBarTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mActionBar.setTitle(actionBarTitle); 

Это необходимо выполнить при изменении ориентации. Я вызываю его из onCreate () … не знаю, работает ли он в onConfigurationChange ().

@TNR верен, однако вам следует дважды проверить, не изменил ли ваш XML-файл макета атрибут android:theme с другим стилем.

Обычно это происходит, если вы создали файлы макета