Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Ejercicio: Crear un menú
Un menú contextual es lanzado al pulsar la tecla menú del teléfono.
res/menu/menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1" android:title="Option 1" android:icon="@android:drawable/ic_menu_compass" />
<item android:id="@+id/item2" android:title="Option 2" android:icon="@android:drawable/ic_menu_call" />
</menu>
MenuActivity.java
public class MenuActivity extends Activity {
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
Al ejecutar la aplicación pulsamos el botón de menú para ver los menús.
Ejercicio: Detectar la pulsación de un menú
Añadimos el siguiente código al java anterior:
public boolean onOptionsItemSelected(MenuItem item){
if(item.getItemId() == R.id.item1){
Log.d("opcion", "opcion 1 pulsada");
}
return super.onOptionsItemSelected(item);
}
También se podía haber hecho con el método onclick, procesando la información de la siguiente forma:
public void menuPulsado(MenuItem menu){
...
}
Problema al cambiar la orientación de la pantalla
Al cambiar la orientación se destruyen los componentes visuales y se vuelven a crear, llamando al onCreate.
Podemos solventar los problemas que esto pueda acarrear modificando el nodo <activity> correspondiente del AndroidManifest.xml:
– Para limitar el giro de la aplicación:
android:screenOrientation=»portrait»
– Para que no se destruya el activity:
android:configChanges=»keyboard | keyboardHidden | orientation | screenSize | smallestScreenSize»