web-dev-qa-db-fra.com

Couleur du texte de l'élément de menu de la barre d'action

Comment changer la couleur du texte du titre de l'élément de menu. J'ai essayé de le changer comme ci-dessous

<style name="Theme.Kanku.ActionBar.TitleTextStyle" parent="@Android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="Android:textColor">@color/white</item>
</style>

Mais il ne change que la couleur du titre de la barre d’action, mais pas celui des éléments de menu.

51
Procurares

Essayez quelque chose comme ça:

<style name="ThemeName" parent="@style/Theme.Sherlock.Light">
    <item name="actionMenuTextColor">@color/white</item>
    <item name="Android:actionMenuTextColor">@color/white</item>
</style>
109

J'ai essayé plusieurs choses mais rien n'a fonctionné pour moi. Finalement ceci a fait l'affaire:

<style name="your_theme" parent="your_parent">
    <item name="Android:itemTextAppearance">@style/TextAppearance</item>
</style>

<style name="TextAppearance">
    <item name="Android:textColor">@Android:color/black</item>
</style>

Je n'ai pas utilisé les thèmes Sherlock. Cela a fonctionné pour Holo.Light.DarkActionBar.

101
b00n12

Après avoir essayé toutes ces solutions et les avoir empêchées de fonctionner, je les ai programmées comme suit:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.changeip_card_menu, menu); 
    for(int i = 0; i < menu.size(); i++) {
        MenuItem item = menu.getItem(i);
        SpannableString spanString = new SpannableString(menu.getItem(i).getTitle().toString());
        spanString.setSpan(new ForegroundColorSpan(Color.WHITE), 0, spanString.length(), 0); //fix the color to white
        item.setTitle(spanString);
    }
    return true;
}

Cela fonctionnera de manière dynamique à chaque fois. Dans ce cas, la couleur du texte est changée en blanc. Simpy, changez Color.WHITE en Color.whats-color-you-veulent-le changer à la couleur que vous voulez.

14
Alex K

Pour mettre à jour la couleur du texte de l'élément de menu, vous devez modifier le fichier themes.xml. La réponse suivante est pour sherlock.actionbar. Dans votre fichier themes.xml, ajoutez les lignes suivantes:

<style name="Theme.Mytheme" parent="@style/Theme.Sherlock">
    <item name="actionMenuTextColor">@color/mycolor</item>     
    <item name="Android:actionMenuTextColor">@color/mycolor</item>
</style> 
7
Vikas

cela a fonctionné pour moi:

<style name="AppBaseTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
    <item name="Android:textAppearanceLargePopupMenu">@style/MyOverflowItemCollor</item>       
</style>

<style name="MyOverflowItemCollor" parent="Android:TextAppearance.Holo.Widget.PopupMenu.Large">
    <item name="Android:textColor">#ffffff</item>
</style> 
5
kajlaminog

Si AppTheme est Android: Theme.Holo.Light.DarkActionBar, vous devez définir une actionBarWidgetTheme personnalisée pour que le style du menu Actions soit modifié. Comme ça:

<style name="AppTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
    <item name="Android:actionBarWidgetTheme">@style/ActionBarWidget</item>
    <item name="Android:actionMenuTextColor">@color/{custom_menu_item_text_color}</item>
</style>

<style name="MenuItemText">
    <item name="Android:textColor">@color/{custom_menu_item_text_color}</item>
</style>

<style name="ActionBarWidget" parent="@Android:style/Theme.Holo">
    <item name="Android:itemTextAppearance">@style/MenuItemText</item>
</style>
4
Alexander Zhak

veuillez utiliser le code ci-dessous cela fonctionne

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->

    <item name="colorPrimary">@color/colorWhite</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimaryDark</item>
    <item name="Android:actionMenuTextColor">@color/colorWhite</item>
</style>
1
UpendranathReddy

Si vous utilisez DarkActionBar, ajoutez ci-dessous deux lignes dans votre style.xml

  1. @la couleur verte
    1. @la couleur verte

Le code complet est donné ci-dessous

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="actionMenuTextColor">@color/green</item>
    <item name="Android:actionMenuTextColor">@color/green</item>
</style>
0
Divyaadz

vous pouvez changer la couleur de l'élément d'action simplement en suivant la ligne

<item name="Android:actionMenuTextColor">@color/selected_text_color</item>

vous pouvez appliquer comme ça.

<style name="your_theme" parent="your_parent">
<item name="Android:actionMenuTextColor">@color/selected_text_color</item>
</style>

Dans mon cas

<style name="MyTheme" parent="@Android:style/Theme.Holo.Light">
  <item name="Android:actionMenuTextColor">@color/selected_text_color</item>
  </style>
0
DjP

Ajoutez la ligne de code suivante dans votre fichier style. .Xml qui modifie la couleur du texte du menu des options en noir:

 <style name="optionMenuTextApearance" parent="@Android:style/TextAppearance.Widget.IconMenu.Item">
    <item name="Android:textColor">@color/colorBlack</item>
</style>

Ajoutez ensuite ce code d’une ligne dans votre thème pour changer la couleur du texte du menu des options:

        <item name="Android:itemTextAppearance">@style/optionMenuTextApearance</item>

Cela fonctionne pour moi, merci.

0
AMI CHARADAVA