Menú de opciones en Android

El Menú de opciones es un componente oculto dentro de nuestra aplicaciones y solo será visible si presionamos la tecla menú de nuestro dispositivo. Es una manera elegante de ocultar opciones de nuestra app sin quitar espacio o malgastar espacio en nuestra ventana. También se utiliza cuando no tenemos muchas opciones para configurar que merezcan una ventana propia o son opciones que queremos que el usuario tenga un acceso directo.

 

Lo primero que tenemos que hacer es crear los ítems que tenga nuestro menú. Pueden ser hasta 5 visibles y a partir del 6to se agruparan en un botón “More”

 

 

 

Esto lo hacemos creando un archivo xml que estará dentro de la carpeta menú que se crea en la carpeta res.  Por ejemplo:

 

<?xml versión="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
      <item
            android:id="@+id/btn_acerca"            
            android:icon="@drawable/ico_acercade">
      </item>
       
      <item
            android:id="@+id/btn_ayuda"            
            android:icon="@drawable/ico_ayuda">
      </item>
      
</menu>

 

Lo que hacemos aqui es crear dos ítems (Acerca y Ayuda) con sus respectivos iconos. El menu también puede tener texto. Tienen que recordar los ids porque luego los usaremos en la clase Java donde queremos que se muestre el codigo. Además ya tienen que tener listos los iconos.

 

Para la parte de diseño ya estamos listo y ahora veremos la parte de codding en Java.

Recuerden que pueden tener un solo menu por clase.

 

Lo primero que debemos hacer es sobrescribir el método que crea el menu para indicarle que debe mostrar.

 

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

“Menu_Principal” es el nombre del archivo XML que hemos creado con anterioridad. Luego debemos indicar que acción queremos ejecutar cuando presionamos algún item de nuestro menu. Aqui usársenos los ids que mencione unos pasos atrás.

 

 

@Override
	public boolean onOptionsItemSelected(MenuItem item) 
	{
		Intent intento;
	   switch (item.getItemId()) 
	   {
	        case R.id.btn_acerca:
	        	      intento=new Intent(lay_main.this,lay_aplicaciones.class);
	        	      startActivity(intento);
	        	      return true;
	        case R.id.btn_ayuda:
	        	      intento=new Intent(lay_main.this,lay_ayuda.class); 
                        startActivity(intento); 
	           return true;
	        default:
	           return super.onOptionsItemSelected(item);
	    }
	}

El método onOptionsItemSelected recibe un objeto del tipo menuItem que una de sus propiedades es el id. Con este id más un case podemos saber efectivamente que botón presiono el usuario. Una vez dentro del case, ejecutamos las acciones que nosotros queremos. Pueden ser llamadas a otras ventanas o realizar algún proceso interno dentro de la lógica de negocios o cambiar algún valor de una propiedad.

 

Con esto ya el menu estará creado y listo para usarse. Pueden tener un menu diferente en cada actividad y pueden reutilizar el mismo XML pero cambiando la funcionalidad. Algo bastante practico no?

 

Cualquier consulta o duda no duden en dejar un comentario en esta entrada.

 

 

3 thoughts on “Menú de opciones en Android

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *