ActionBar MenuItem Divider

Existe-t-il un moyen de montrer Divider entre les éléments de menu dans ActionBar pour HoneyComb +.

Certains messages indiquent que le diviseur ne sera affiché que lorsque les éléments du menu ont été Android: showAsAction = "withText".

  • L'installation n'a pas pu finaliser la session ... Les signatures sont incohérentes - Android
  • Android ajouter du texte (timestamp) à une vidéo enregistrée
  • Keystore et Alias: existe-t-il une utilisation pour plusieurs alias?
  • Comment savoir mon application Android a-t-elle été mise à niveau afin de réinitialiser une alarme?
  • La fermeture et la réouverture des instances de Realm sont-elles mauvaises pour la performance?
  • La caméra ne fonctionne pas ou ne l'enregistre pas lors de l'utilisation de Cache Uri en tant que MediaStore.EXTRA_OUTPUT
  • Je veux montrer uniquement l'icône et non le texte.

    J'ai réussi à afficher Divider for Pre-HoneyComb en mettant en œuvre une Compatibilité Action Bar.

    Je ne veux pas utiliser ActionBarSherlock comme indiqué dans cette publication. La barre d'action Android sherlok ne montre pas le diviseur, car il sera temps de passer de la Compatibilité de la barre d'action à ActionBarSherlock dans tous mes projets.

    Lorsque j'ai vu la source Android, j'ai découvert que Divider ne sera affiché que s'il a du texte comme indiqué ci-dessous (de ActionMenuItemView)

    public boolean needsDividerBefore() { return hasText() && mItemData.getIcon() == null; } public boolean needsDividerAfter() { return hasText(); } 

    Est-ce que je peux donner ma mise en œuvre pour ActionMenuItemView pour ActionBar où needsDividerBefore () sera toujours vrai

  • Comment récupérer une liste de polices disponibles / installées dans Android?
  • Parfois, lance une erreur non détectée: méthode d'appel d'erreur sur NPObject sur Android
  • NullPointerException dans SharedPreferences Android
  • Le fichier Android supprime laisse l'espace réservé vide dans la Galerie
  • Comment utiliser getSystemService dans une classe hors activité?
  • Mode Immersif montrant un espace vide
  • 3 Solutions collect form web for “ActionBar MenuItem Divider”

    J'ai trouvé une réponse par moi-même avec l'aide de http://android-developers.blogspot.in/2011/04/customizing-action-bar.html Cependant, cela ne résout pas complètement mon problème. Il ajoute un diviseur pour Titre, et un autre pour l'icône de la maison. Il y a aussi des séparateurs gauche et droit. Cela aussi est réglable.

    J'ai ajouté Android: selecttableItemBackground à mon thème.

     <item name="android:selectableItemBackground">@drawable/action_bar_item_selector</item> 

    Action_bar_item_selector.xml

     <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/actionbar_compat_separator"></item> <item android:left="1dp" android:drawable="@drawable/actionbar_compat_item"></item> </layer-list> 

    Actionbar_compat_separator – est-ce que mon séparateur est dessiné

    Et actionbar_compat_item est mon sélecteur pour l'élément de la barre d'action.

    ÉDITÉ

    J'ai trouvé une meilleure solution à mon problème. Ça marche bien.

     <item name="android:actionButtonStyle">@style/ActionButton</item> to my Theme <style name="ActionButton" parent="android:style/Widget.Holo.Light.ActionButton"> <item name="android:background">@drawable/action_bar_item_selector</item> </style> 

    Vous pouvez remplacer le thème existant par des styles personnalisés, par exemple

     <style name="CustomTheme" parent="android:Theme.Holo.Light"> <item name="android:actionBarStyle">@style/ActionBar</item> </style> <style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">@color/action_bar_background</item> <item name="android:showDividers">beginning</item> <item name="android:divider">@color/action_bar_divider</item> </style> 

    Mise à jour: cela ne semble pas fonctionner pour Android 5 Lollipop et ci-dessus:


    C'est la meilleure façon que j'ai trouvée. Ajoutez simplement un groupe avec un objet fictif à votre menu:

    Menu.xml

     <group> <!--dummy item to get a nice separator--> <item android:title="" android:showAsAction="always" android:enabled="false" /> </group> <item android:id="@+id/action_example" ... 

    L'objet fictif a un titre vide, donc il apparaît invisible, et il est désactivé afin qu'il ne puisse pas être cliqué.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.