2013-12-06 5 views
6

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

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

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

<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> 

ответ

5

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

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

Спасибо за ответ на свой вопрос +1! Сохраненных мой день! Эй, по какой-то причине, мы должны поставить -android-prefix - в v11? –

+0

Добро пожаловать! Я не могу сказать, что у меня было это, и это сработало, не исследовало его дальше. – jannej

14

код ниже работал для меня. Я надеюсь, что это поможет вам tooo.

<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> 
+0

Это окрашено мое действие бара белого – zed

3

Найден в Overflow styling

Я пытался сохранить цвет названия текста 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().

0

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

Это обычно происходит, если вы сгенерировали раскладку

Смежные вопросы