Changer le style de sous-titre de la barre d'action Android

Je souhaite personnaliser l'actionBar de mon application Android.
J'utilise Actionbar Sherlock.
Mon sdk cible min est 14, target sdk 17.
J'ai un thème qui modifie la couleur d'arrière-plan et le texte du titre principal
Cependant, je ne peux pas modifier la couleur du texte des sous-titres
Mon style est montré ici

<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'est-ce qui a mal fait?

  • Comment ajouter une colonne booléenne dans Android SQlite
  • Obtenir la liste des numéros de téléphone de contact Android
  • Tout bon éditeur de texte - application Android - optimisé pour les programmeurs?
  • Obtenir des détails de certificat à partir d'un apk
  • Comment connaître l'activité d'appel dans Android
  • Convention de dénomination id d'Android: minuscule avec le trait de soulignement contre le boîtier de chameau
  • 5 Solutions collect form web for “Changer le style de sous-titre de la barre d'action Android”

    Changez simplement titleTextStyle en subtitleTextStyle titleTextStyle

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

    Presque là. Voici le code:

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

    Cet ensemble de styles forme la barre d'action, y compris l'arrière-plan, le titre et le texte des sous-titres; Il forme également les onglets, y compris tous les états (sélectionnés, non sélectionnés et toutes les combinaisons ciblées / pressées), ainsi que la police et la taille du texte de l'onglet (pour les instructions des développeurs d'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> 

    Cet ensemble de styles semble particulièrement agréable lorsque les Drawables sont des gradients utilisant un ensemble de valeurs de couleur cohérentes (c.-à-d. Lavande à violette pour sélectionnée et violet à lavande pour non sélectionnées, changeant les valeurs à plus foncé pour presser et allumer pour concentré).

    Je me suis retrouvé avec ça (c'est plus proche de ce dont j'ai besoin)

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

    Ajouter un code ci-dessous dans votre fichier d'activité

      actionBar.setSubtitle(Html.fromHtml("<font color='#FFBF00'>Here ActionBar Subtitle</font>")); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.