ActionBar MenuItem Divider

¿Hay una manera de mostrar divisor entre los elementos de menú en ActionBar para HoneyComb +.

Algunos post dice que el divisor se mostrará sólo cuando los elementos del menú tiene android: showAsAction = "withText".

Quiero mostrar sólo el icono no el texto.

He demostrado con éxito Divider para Pre-HoneyComb mediante la implementación de una barra de acción de compatibilidad.

No quiero usar ActionBarSherlock como se da en esta publicación Android barra de acción sherlok no muestra divisor porque será el momento de cambiar de Action Bar Compatibility a ActionBarSherlock en mi todos los proyectos.

Cuando vi la fuente de Android encontré que Divider será mostrar sólo cuando tiene texto como se muestra a continuación (de ActionMenuItemView)

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

¿Hay una manera que puedo dar mi implementación para ActionMenuItemView para ActionBar donde needsDividerBefore () siempre dará true

He encontrado una respuesta por mí mismo con la ayuda de http://android-developers.blogspot.in/2011/04/customizing-action-bar.html Sin embargo, esto no soluciona completamente mi problema. Añade un divisor para Title, y también uno para el Icono de inicio. También hay separadores izquierdo y derecho. Eso también es ajustable.

He añadido android: selectableItemBackground a mi tema.

 <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 – es mi seperator dibujable

Y actionbar_compat_item es mi selector para el elemento de la barra de acción.

EDITADO

He encontrado una mejor solución a mi problema. Funciona 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> 

Puede reemplazar el tema existente con estilos personalizados, por ejemplo

 <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> 

Actualización: Esto no parece funcionar para Android 5 Lollipop y superior:


Esta es la mejor manera que encontré. Simplemente agregue un grupo con un elemento ficticio a su menú:

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" ... 

El elemento ficticio tiene un título vacío por lo que parece invisible y está desactivado para que no se pueda hacer clic en él.

  • Manténgase en la pestaña actual después de cambiar la orientación Actionbar Android
  • Cambiar la barra de acción color del título Theme.AppCompat.Light.DarkActionBar android
  • Barra de Acción de Android Botón Arriba versus Sistema Botón Atrás
  • "No se encontró ningún identificador de recurso para el atributo 'showAsAction' en el paquete 'android'"
  • Cómo cambiar el color de texto de ActionBar en Android 5.0 Lollipop?
  • Menú emergente en el clic de un botón en la barra de acción
  • ActionBarCompat - Acción de icono de aplicación (clic) no funciona en dispositivos 4.0
  • La barra de acción de Android nunca se divide en la pantalla de 5.1 "
  • Quitar Icono pero tener HomeAsUp en ActionBar
  • Android y ActionBarCompat: cómo cambiar la visibilidad de las acciones en tiempo de ejecución en dispositivos pre-ICS?
  • Establecer título para la barra de acción contextual
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.