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

  • Android: Le moyen le plus simple de créer un WebView affiche un Bitmap?
  • Transaction entre fragments uniquement dans un onglet ActionBar
  • Comment puis-je déterminer si un géopoint est affiché dans la zone actuellement visible?
  • Comment enregistrer la voix dans Android?
  • Android, IntelliJ Idea, changer le type de module
  • Signature GoogleSignatureVerifier message non valide (google play services 9.0.0)
  • public void catalogClick(MenuItem item){ //highlight menuitem etc. } 

  • Comment puis-je actualiser mon ListView après la modification de la base de données?
  • ListView avec ArrayAdapter et ViewHolder ajoutant des icônes au mauvais élément
  • Android obtient la valeur du bouton radio sélectionné
  • Acceptation d'un certificat pour HTTP sur Android
  • La montre LG G ne montre pas d'images ou de gradients de 32 bits avec une profondeur totale
  • Comment coder une chaîne avec Base64 dans Android?
  • 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.