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.
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>
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.
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.
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>
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>
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>
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>
Si vous utilisez DarkActionBar, ajoutez ci-dessous deux lignes dans votre style.xml
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>
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>
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.