viernes, 29 de marzo de 2013

Android - Menu

Hoy vamos a ver como crear un menu; es decir que cuando apretemos la tecla de menu en nuestro terminal nos salga el ya famoso menu abajo con las distintas opciones que le demos, para hacer esto es muy sencillo con eclipse.
Vamos a crear una aplicacion de ejemplo para este proposito; la llamaremos MenuEjemplo, una vez la tengamos creada se nosabrira el activity_main.xml, lo dejaremos como esta, y abriremos la carpera res alli iremos hasta menu y sorpresa nos encontramos un main.xml, en este ejemplo vamos a aprobecharlo, aunque si queremos hacer uno de 0 deberiamos hacer click derecho añadir android xml y seleccionar que sea del tipo menu

si hacemos doble click sobre main.xml se nos abrira algo como lo que sigue

marcaremos el unico elemento que contiene este menu para eliminarlo y asi dejarlo de 0, dando al boton de Remove

Ahora le daremos a Add y en la ventana que se nos abre seleccionaremos Item

en el menu del item que nos sale al lado le daremos un Id, en este caso vamos a dejar que nos da por defecto @+id\item1 y en Title escribiremos el texto que queremos nos salga en pantalla en este caso Boton de Mernu 1

Y repetimos la misma operacion otra vez

Ahora nos iremos a nuestro mainActivity.java, en el podemos ver que tenemos sobreescrito un metodo onCreateOptionsMenu, es aqui donde debemos programar lo que desemos acerca del menu, con la linea en la que nos pone
getMenuInflater()inflate(R.menu.main, menu);

nos esta vinculando esta activity con el menu que acabamos de editar

ahora sobreescribiremos el siguiente metodo on OptionsItemSelected, borrando el codigo de super de su interior, y escribiendo lo siguiente

    @Override public boolean onOptionsItemSelected(MenuItem item) {
             switch (item.getItemId()) {
             case R.id.item1:
                    Toast toas= Toast.makeText(getApplicationContext(), "Boton de menu numero 1", Toast.LENGTH_LONG);
                    toas.show();
                    break;
             case R.id.item2:
                    Toast toas2= Toast.makeText(getApplicationContext(), "Boton de menu numero 2", Toast.LENGTH_LONG);
                    toas2.show();
                    break;
             }

             }
             return true
    }

En el que simplemente creamos un Switch y segun que boton pulsemos mostramos un mensaje emergente u otro.

el codigo esta disponible en : http://adf.ly/Ls07f