Elementos de ActionBarSherlock que no aparecen en desbordamiento

Estoy tratando de cambiar el estilo de mi aplicación a una apariencia de ICS con ABS. Conseguir el ActionBar sí mismo era agradable y directo, sin embargo agregando artículos de menú no ha sido.

Mi código parece:

@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; } 

Se están utilizando todas las importaciones apropiadas.

Y mi menu.xml es como sigue:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/backup" android:title="@string/backupLabel"/> <item android:id="@+id/restore" android:title="@string/restoreLabel"/> </menu> 

El ActionBar muestra, pero el menú se comporta como un menú 2.1 – sólo se activa desde el botón de menú sin desbordamiento disponible. Esto también es cierto en un emulador ICS – donde tengo que usar el botón de menú para activar el menú.

Si agrego android: showAsAction = "ifRoom" entonces los artículos aparecen como artículos de la acción – pero no en el desbordamiento, que es donde quisiera que estuvieran siempre.

¿Tiene sentido todo esto?

¿Qué me estoy perdiendo?

Sólo tiene que utilizar este código boath menú están en ActionBar:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/backup" android:showAsAction="ifRoom" android:title="backupLabel"/> <item android:id="@+id/restore" android:showAsAction="ifRoom" android:title="restoreLabel"/> </menu> 

Su aspecto es:

Introduzca aquí la descripción de la imagen

Porque si usas

 android:showAsAction="ifRoom" : Only place this item in the Action Bar if there is room for it. 

y

 android:showAsAction="Never" : Never place this item in the Action Bar. 

Si utiliza como:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/backup" android:showAsAction="ifRoom" android:title="backupLabel"/> <item android:id="@+id/restore" android:title="restoreLabel"/> </menu> 

Entonces su mirada: uno está en ActionBar y el 2do está abierto cuando usted presiona el botón del menú.

Introduzca aquí la descripción de la imagen

Nota: Está funcionando bien en <3.0 Android OS, así que no te preocupes. Pero si tiene varios elementos de menú (más de 3) con android:showAsAction="ifRoom" entonces mostrará que depende del tamaño de la pantalla del dispositivo .

En Protrait:

Introduzca aquí la descripción de la imagen

En Paisaje:

Introduzca aquí la descripción de la imagen


Después de Hacer todo lo anterior, lo sacudiré para usarlo debajo de <3.0 Android os:

Introduzca aquí la descripción de la imagen

código:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/file" android:showAsAction="ifRoom" android:title="file"> <!-- "file" submenu --> <menu> <item android:id="@+id/create_new" android:title="create_new"/> <item android:id="@+id/open" android:title="open"/> </menu> </item> </menu> 

ForceOverflow se ha eliminado en ABS 4.1.2 con el visor del creador que nunca debería haberlo hecho (ver las notas del registro de cambios). Estoy bastante seguro de que está viendo el comportamiento esperado; Cualquier dispositivo con un botón de menú que ejecute ICS + (por ejemplo, mi Nexus S) no muestra el menú de desbordamiento ya que hay una tecla de hardware dedicada – el botón 'menú'.

Utilice la configuración del emulador para quitar el botón de menú del dispositivo emulado y Android sabrá agregar el menú de desbordamiento.

Probablemente utilice un emulador que tenga un teclado de hardware habilitado y no un software. Para ver acciones en el menú de desbordamiento, utilice un emulador con controles de sofwater. Los screeenshots muestran dos maneras de hacerlo.

  • Editar un AVD existente

Editar un AVD existente .

  • Clonar un perfil de dispositivo existente

Clonar un perfil de dispositivo existente .

  • Importación de actionbarsherlock en Android Studio 0.8.9
  • Cómo cambiar el color de TabIndicater en PagerTabStrip
  • Estilo sherlock ActionMode fondo
  • Java.lang.NoSuchMethodError cuando se utiliza getFragmentManager () con la biblioteca actionbarsherlock
  • Mostrar ImageView parcialmente detrás de ActionBar transparente
  • Cómo agregar ActonBarSherlock en Android Studio
  • Android: Cómo desenfocar un SearchView mediante programación
  • Barra de acción Sherlock 4 color del texto del título - donde me estoy yendo mal?
  • ¿Hay alguna manera de usar nuevo DrawerLayout con ActionBarSharlock?
  • ¿Cómo puedo hacer que los elementos de ActionBar sean uno a la izquierda, uno en el centro y otro a la derecha?
  • ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.