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:
- Cómo establecer el color del título en ActionBarSherlock?
- ActionBarSherlock: no se puede resolver el tipo android.support.v4.app.Fragment. Se hace referencia indirectamente a los archivos .class requeridos
- Problemas de ActionBarSherlock getMenuInflater
- ActionbarSherlock: Ocultar barra de acciones al mostrar pestañas
- Auto build Actionbarsherlock en Jenkins obtuvo error
@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?
- ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError
- Cambio de homeAsUpIndicator icono en ActionbarSherlock no tiene efecto en ICS?
- Biblioteca resolver a una ruta sin archivo project.properties
- Actionbarsherlock noClassDefFoundError com.actionbarsherlock.R $ estilo
- Cómo cerrar la sesión del SherlockActivity en la pestaña sherlock
- ¿Cómo puedo eliminar el título y el icono de forma completa en Actionbar sherlock?
- Android personalizado IcsSpinner (de ActionBarSherlock)
- Cómo importar ejemplos de Actionbarsherlock en eclips y usarlos
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:
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ú.
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:
En Paisaje:
Después de Hacer todo lo anterior, lo sacudiré para usarlo debajo de <3.0 Android os:
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
.
- Clonar un perfil de dispositivo existente
.
- Cómo reiniciar el emulador de Android y conservar los datos del sistema
- SearchManager: agregar sugerencias personalizadas