13

Tengo un pequeño problema al tratar de personalizar el aspecto de la barra de acciones en mi aplicación. Quiero poder tener los divisores de píxeles de gran tamaño para agrupar elementos de la barra de acciones que ve en muchas de las aplicaciones nativas (por ejemplo, Gmail, Calendario). He encontrado una manera de hacer esto mediante la adición de un elemento de menú y el establecimiento de la 'android: actionLayout' atributo a un diseño personalizado para el divisor:¿Hay una forma estándar de agregar divisores entre los elementos de la barra de acciones en Android 3.0?

<View 
    android:background="@color/LightGray" 
    android:layout_marginTop="5dip" 
    android:layout_marginBottom="5dip" 
    android:layout_width="1dip" 
    android:layout_height="fill_parent" /> 

Esto funciona muy bien, pero el problema es que cuenta como un elemento de menú y la barra de acciones parece limitar el número de elementos de menú a 4; cualquier otro elemento se inserta en el menú de desbordamiento.

Supongo que lo que estoy preguntando es si hay una forma estándar de agregar divisores de elementos sin tener que usar un elemento de menú con una vista personalizada, y de una manera que no cuenta para el límite de la barra de acciones ¿artículos?

¡Gracias de antemano!

+0

Por "barra de acciones" ¿se está refiriendo realmente al menú que aparece cuando el usuario hace clic en el botón de menú? –

+0

Hola, lo siento, acabo de ver este comentario. Me refiero a la barra de acción específica de la tableta que se ha introducido en Honeycomb, que usa de manera predeterminada los elementos del menú, pero se puede personalizar más, que es lo que estoy tratando de lograr. – kingraam

Respuesta

11

No intentaré forzar divisores en lugares en los que el sistema no los agrega automáticamente, ya que esto hará que la aplicación no concuerde con la plataforma. El comportamiento predeterminado es:

  • Divisor entre desbordamiento y otros.
  • Divisor entre el texto y otro elemento donde desambiguará a qué elemento pertenece el texto.
+0

Gracias - eso tiene sentido – kingraam

2

Cuando Google lanzó el SDK 3.0, obtuve una aplicación de demostración rápida para ver cómo funciona ActionBar y solo mirando hacia atrás, si uso elementos de texto sin iconos dibujables, obtengo divisores automáticos.

Mi archivo menu.xml es así:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" /> 
    <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" /> 
    <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" /> 
    <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" /> 
</menu> 

Tal vez esto no va a funcionar con iconos ??

O, pensándolo bien, ¿tal vez el tamaño del icono tiene un efecto?

+0

dame cualquier ejemplo y enlace para este. – NagarjunaReddy

+0

enlace para qué? Muestras de SDK? – neildeadman

+0

sí quiero una muestra de SDK para este – NagarjunaReddy

3

No pude encontrar una manera estándar, pero la forma en que lo hice fue utilizar la propiedad android:actionLayout para el elemento de menú, y puse el divisor allí.

+1

Puntero muy útil. Creé un diseño XML con un TextView que tenía un drawableLeft de mi ícono y un drawableRight para mi separador, luego establecí el drawablePadding en un valor estéticamente agradable. Trabajado como un encanto. – karora

+0

@Chris: He usado android: actionLayout pero no funciona para mí. He agregado una vista simple en el diseño con un color negro para el divisor en el elemento del menú, pero no funciona ... ¿Pueden ayudarme en esto? –

+0

Quiero el divisor en uno de los elementos del menú ... Es bueno sugerir alguna idea para implementar ... Gracias de antemano. –

Cuestiones relacionadas