2012-02-14 14 views
6

Si defino los siguientes artículos para mi barra de acción:definen los puntos de acción barra de desbordamiento

res/menu/action_menu.xml:

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

    <item android:title="label"/> 
    <item android:title="label1"/> 
    <item android:title="label2"/> 
    <item android:title="label3"/> 
    <item android:title="label4"/> 

</menu> 

En mi Actividad:

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

¿Hay alguna forma para que yo defino ciertos elementos se mueven a acción desbordamiento parte? ¿Y, cómo hacerlo?

P.S. Action overflow part es la parte de la derecha de la barra de acciones que oculta ciertos elementos como un menú emergente.

+3

la forma en que declaró que todos los artículos estarán en el desbordamiento, debe declarar con setAsAction para mostrar como una acción –

Respuesta

10

Es al revés. Debe indicar explícitamente al menú cuáles desea en el ActionBar y que no configurando los indicadores apropiados

P. ej.

<item android:id="@+id/refresh" 
     android:title="@string/refresh" 
     android:icon="@drawable/reload_button" 
     android:showAsAction="always"/> 

Aquí android:showAsAction dice cómo manejarlo. Las opciones son

  • siempre
  • ifRoom
  • Nunca
  • withText

Puede o las opciones, junto con el símbolo de canalización como "siempre | withText"

Ver el androide docs for action bar para más documentación.

+1

Gran respuesta. ¡Realmente me ayudó a entender cómo debe ser la Action Bar! Aunque tengo una pregunta. Quiero que ciertas cosas solo vayan en la parte de Desbordamiento de acción, es decir, está debajo de la imagen de 3 puntos giratorios que Android coloca en la parte superior derecha. ¿Cómo puedo obligarlo a hacer eso? – Andy

+4

Solo para aclarar, porque era bastante difícil encontrar esto explicado en cualquier lugar, si establece showAsAction en "nunca" se moverá al menú de desbordamiento. (Los documentos hablan en muchos lugares sobre relegar las acciones no usadas al desbordamiento, pero en ninguna parte hay pistas sobre cómo hacer que eso ocurra ... Incluso si sospechamos de showAsAction, los documentos oficiales solo dicen "nunca: nunca coloque este artículo" en la barra de acciones. "- no dejan claro a dónde va, en cualquier lugar. También tenga en cuenta que en algunos dispositivos el" desbordamiento "puede terminar bajo el botón de menú físico en lugar de la barra de acciones.) – Brandyn

8

Para agregar algo a la respuesta de Heiko sobre el "menú de desbordamiento" en la barra de acciones, esto solo ocurre si tiene los elementos configurados como ifRoom y no hay espacio para que se muestren. En el menú de desbordamiento, solo aparecen con un título y sin icono.

En Android 4.0, el menú de desbordamiento ("3 puntos giratorios") solo se muestra en dispositivos que no tienen el botón físico de "menú". Puede probar esto en un ADV configurando la opción Hardware Back/Home keys option en "no".

+3

" Para agregar algo a la respuesta de Heiko sobre el "menú de desbordamiento" en la barra de acciones, esto solo sucede si tiene los elementos establecidos como ifRoom y no hay espacio para que se muestren ". - o si configura como "nunca" independientemente de si hay espacio. – Brandyn

Cuestiones relacionadas