Comment modifier par programme ActionBar menuitem text color?

J'ai une barre d'action avec plusieurs éléments, j'aimerais changer la couleur du texte lorsque l'élément est cliqué. Est-il possible de le faire de manière programmée? Veuillez fournir, par exemple, ou des ressources.

Merci

  • Anciennes versions de Android NDK
  • Android: Problème avec des types de fichiers acceptables via bluetooth
  • Puis-je utiliser AccountManager pour permettre aux utilisateurs de se connecter à leur compte Google?
  • Comment faire pour que les GIF animés fonctionnent à partir d'Android WebView
  • Android Désactiver les éléments de listview
  • Les cartes Google dans mon application ne sont pas visibles
  • public void catalogClick(MenuItem item){ //highlight menuitem etc. } 

  • Pas de titre Bar Theme Theme
  • Comment détecter le nombre de caméras disponibles sur un appareil Android? Et aussi si l'appareil dispose d'une caméra frontale comment l'utiliser?
  • Comment empêcher une barre de navigation inférieure d'être poussée sur le clavier
  • Afficher la liste de suggestion dans la vue de recherche d'Android
  • Obtenir le fil par nom
  • Comment créer des boutons standard sans bordure (comme dans le guide de conception mentionné)?
  • 3 Solutions collect form web for “Comment modifier par programme ActionBar menuitem text color?”

    Suivez ce lien qui explique comment modifier le texte menuitem par programme.

    http://developer.android.com/guide/topics/ui/actionbar.html#Style

    Vérifiez pour Android: actionMenuTextColor pour définir une ressource de style pour le texte.

    Pour changer sans définir une ressource de style, nous pouvons utiliser SpannableString.

      @Override public boolean onPrepareOptionsMenu(Menu menu) { //To style first menu item MenuItem menuItem = menu.getItem(0); CharSequence menuTitle = menuItem.getTitle(); SpannableString styledMenuTitle = new SpannableString(menuTitle); styledMenuTitle.setSpan(new ForegroundColorSpan(Color.parseColor("#00FFBB")), 0, menuTitle.length(), 0); menuItem.setTitle(styledMenuTitle); return super.onPrepareOptionsMenu(menu); } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { Toast.makeText(this, item.getTitle() + " clicked!", Toast.LENGTH_LONG).show(); return true; } 

    Lorsque vous formatez le style de texte, vous obtiendrez l'exception "type d'élément de charge utile non valide". Pour éviter cela, annulez onMenuItemSelected, et utilisez return true ou false.

    Référence:

    Android: java.lang.IllegalArgumentException: Type d'élément de charge utile non valide

    http://vardhan-justlikethat.blogspot.in/2013/02/solution-invalid-payload-item-type.html

    Essayez Firewall_Sudhan répondre mais itérant le sous-menu du menu

     @Override public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); SubMenu subMenu = menu.getItem(0).getSubMenu(); for (int i = 0; i < subMenu.size(); i++) { MenuItem menuItem = subMenu.getItem(i); CharSequence menuTitle = menuItem.getTitle(); SpannableString styledMenuTitle = new SpannableString(menuTitle); styledMenuTitle.setSpan(new ForegroundColorSpan(Color.BLACK), 0, menuTitle.length(), 0); menuItem.setTitle(styledMenuTitle); } } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.