Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambiar el color de subtítulos de la barra de acción de Android

Deseo personalizar el actionBar de mi aplicación android.
Estoy usando Actionbar Sherlock.
Mi sdk meta mínima es 14, objetivo sdk 17.
Tengo un tema que cambia el color de fondo y el texto del título principal
Sin embargo, no puedo cambiar el color del texto de los subtítulos
Mi estilo se muestra aquí

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> </style> <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> <item name="android:background">#8B0000</item> </style> <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">#FFFFFF</item> </style> <style name="MyTheme.ActionBar.Subtitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle"> <item name="android:textColor">#FF0000</item> </style> 

¿Qué ha hecho mal?

  • Definir un estilo personalizado (tema) en un componente de conmutador Android
  • Cambiar el teclado Android L introduzca el color de la tecla
  • ¿Cuál es el color hexadecimal predeterminado de la barra de acción Holo.Light.DarkActionBar?
  • Tema personalizado de Android: tema diferente para el modo horizontal y vertical
  • "Posible sobregiro: El elemento raíz pinta el fondo"
  • Tema de pantalla completa para AppCompat
  • Establecer Android Theme.Light para diálogo de alerta
  • Aplicación de un tema a v7 Support Action Bar
  • 5 Solutions collect form web for “Cambiar el color de subtítulos de la barra de acción de Android”

    Sólo cambia titleTextStyle a subtitleTextStyle

     <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> </style> <style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> </style> <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">@color/red</item> </style> 

    Casi allí. Aquí está el código:

     <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> </style> <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.Subtitle</item> <item name="android:background">#8B0000</item> </style> <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">#FFFFFF</item> </style> <style name="MyTheme.ActionBar.Subtitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Subtitle"> <item name="android:textColor">#FF0000</item> </style> 

    Este conjunto de estilos formatea la barra de acción, incluyendo fondo, título y texto de subtítulos; También formatea las pestañas, incluyendo todos los estados (seleccionados, no seleccionados, y todas las combinaciones enfocadas / presionadas), así como la fuente y el tamaño del texto de la pestaña (según la instrucción de los desarrolladores de Android https://developer.android.com/training/basics /actionbar/styling.html ):

     <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/themeActionBar</item> <item name="android:actionBarTabTextStyle">@style/styleActionBarTabText</item> <item name="android:actionMenuTextColor">@color/actionbar_text</item> <item name="android:actionBarTabStyle">@style/styleActionBarTabs</item> <!-- Support library compatibility --> <item name="actionBarStyle">@style/themeActionBar</item> <item name="actionBarTabTextStyle">@style/styleActionBarTabText</item> <item name="actionMenuTextColor">@color/actionbar_text</item> <item name="actionBarTabStyle">@style/styleActionBarTabs</item> </style> <!-- ActionBar styles --> <style name="themeActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> <item name="android:background">@drawable/abactionbargradient</item> <item name="android:titleTextStyle">@style/styleActionBarTitleText</item> <item name="android:subtitleTextStyle">@style/styleActionBarSubTitleText</item> <!-- Support library compatibility --> <item name="background">@drawable/abactionbargradient</item> <item name="titleTextStyle">@style/styleActionBarTitleText</item> <item name="subtitleTextStyle">@style/styleActionBarSubTitleText</item> </style> <!-- ActionBar title text --> <style name="styleActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> <item name="android:textColor">@color/actionbar_title_text</item> <!-- The textColor property is backward compatible with the Support Library --> </style> <!-- ActionBar title text --> <style name="styleActionBarSubTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle"> <item name="android:textColor">@color/actionbar_sub_title_text</item> <!-- The textColor property is backward compatible with the Support Library --> </style> <!-- ActionBar tabs text --> <style name="styleActionBarTabText" parent="@style/Widget.AppCompat.ActionBar.TabText"> <item name="android:textColor">@color/actionbar_text</item> <item name="android:textSize">10dp</item> <!-- The textColor property is backward compatible with the Support Library --> </style> <!-- ActionBar tabs styles --> <style name="styleActionBarTabs" parent="@style/Widget.AppCompat.ActionBar.TabView"> <!-- tab indicator --> <item name="android:background">@drawable/abactionbartabs</item> <!-- Support library compatibility --> <item name="background">@drawable/abactionbartabs</item> </style> 

    Este conjunto de estilos se ve especialmente bien cuando los dibujables son gradientes utilizando un conjunto de valores de color coherentes (es decir, lavanda a púrpura para seleccionar y púrpura a lavanda para no seleccionada, cambiando los valores a más oscuro para presionado y más claro para enfocado).

    Acabé con esto (su más cerca de lo que necesito)

    @style/Widget.Styled.ActionBar @style/Widget.Styled.ActionBar

     <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar.Solid"> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle</item> <item name="android:subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle</item> <item name="android:background">#8B0000</item> </style> <style name="TextAppearance.Sherlock.Widget.Styled.ActionBar.Subtitle" parent="Widget"> <item name="android:textSize">12sp</item> </style> <style name="OverFlow" parent="Widget.Sherlock.ActionButton.Overflow"> <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_light</item> </style> 

    Añada el siguiente código en su archivo de actividades

      actionBar.setSubtitle(Html.fromHtml("<font color='#FFBF00'>Here ActionBar Subtitle</font>")); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.