2012-04-17 20 views
7

Me gustaría tener un diseño de aplicación como el que usaron para Gmail. Tienen la barra de acciones que tiene íconos (en mi dispositivo tiene el logo de la aplicación para la navegación avanzada, y una vista personalizada para seleccionar la prioridad de la bandeja de entrada/bandeja de entrada/etc), pero también hay algún tipo de división ActionBar porque en la parte inferior tengo varios íconos (redacción, búsqueda, etiquetas, etc.).Haga que el ActionBar dividido muestre el doble de iconos

¿Cómo podría hacer esto? He implementado la siguiente ActionBar través de este XML:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/menu_gps" 
     android:icon="@drawable/icone_gps_continu" 
     android:showAsAction="always" 
     android:title="@string/menu_gps"/> 
    <item 
     android:id="@+id/menu_sort" 
     android:icon="@drawable/icone_liste_chron" 
     android:showAsAction="always" 
     android:title="@string/menu_liste"/> 
    <item 
     android:id="@+id/menu_stats" 
     android:icon="@drawable/icone_statistiques" 
     android:showAsAction="always" 
     android:title="@string/menu_stats"/> 
    <item 
     android:id="@+id/menu_save" 
     android:icon="@drawable/icone_terminersortie" 
     android:showAsAction="always" 
     android:title="@string/menu_save"/> 
    <item 
     android:id="@+id/menu_search" 
     android:icon="@drawable/ic_launcher" 
     android:showAsAction="always" 
     android:title="@string/menu_search"/> 
    <item 
     android:id="@+id/menu_photo" 
     android:icon="@drawable/icone_enregistrerphoto" 
     android:showAsAction="always" 
     android:title="@string/menu_photo"> 
    </item> 
    <item 
     android:id="@+id/menu_sound" 
     android:icon="@drawable/icone_enregistrerson" 
     android:showAsAction="always" 
     android:title="@string/menu_sound"> 
    </item> 
    <item 
     android:id="@+id/menu_settings" 
     android:icon="@drawable/icone_parametres" 
     android:showAsAction="always" 
     android:title="@string/menu_settings"> 
    </item> 

</menu> 

Y tengo claro permitido a la división ActionBar añadiendo android:uiOptions="splitActionBarWhenNarrow" a mi <application> etiqueta en el manifiesto.

Lo que obtengo sin embargo es un "top" vacío ActionBar; y el de abajo muestra solo tres íconos. Pensé que podía mostrar como 3 o 4 iconos en la parte superior y 5 en la parte inferior en modo retrato, y todos ellos en la parte superior en modo horizontal.

Nota: incluso si estoy probando en ICS con mi Galaxy Nexus, estoy usando ActionBarSherlock para proporcionar compatibilidad con versiones anteriores.

Respuesta

10

Parece que publiqué demasiado rápido, parece que no es posible.

Duplicados:

Al parecer esto no es posible. Sin embargo, lo hicieron en gmail/gplus, tal vez usando una vista personalizada para la parte inferior ... ¡Aún esperando una mejor respuesta para esto!

Reto Meier's word en esto:

Creo que el problema con la división de las acciones entre la parte superior e inferior es que haría más difícil la realización de las acciones. Las acciones deberían ser las cosas más importantes que hacer en una Actividad: dividirlas entre la parte superior e inferior de la pantalla significa que los usuarios deben buscar en dos lugares en lugar de uno.

6

También me preguntaba cómo estas aplicaciones tenían iconos en ambas barras, así que descompilé dos de ellas.

Lo que encontré es que estas dos aplicaciones no implementaron el ActionBar en total y usan diseños personalizados para ambas barras. No estoy seguro si puedo nombrar estas aplicaciones aquí, pero son aplicaciones conocidas con más de 10 millones de descargas.

Sugiero que vaya del mismo modo si no le gusta el ActionBar predeterminado (que tiene muy poco espacio para la personalización) y crea diseños personalizados (no es necesario para ambas barras, depende de sus necesidades).

Es bastante fácil reproducir el diseño de la barra de acción dividida. Su altura es siempre 48dp sea cual sea el dispositivo, por lo que un simple LinearLayout o RelativeLayout con una altura fija y algunos botones de imagen transparentes funcionan muy bien. En solo 15 minutos obtendrá una barra de acción dividida totalmente personalizable.

Cuestiones relacionadas