Continuemos con la construcción de nuestra barra de acciones, esta vez es momento de agregar botones (para eso queremos el menu) y acciones a estos.
El proceso es realmente sencillo:
1. Agreguemos un nuevo recurso, de tipo xml en la carpeta llamada menu
2. Ahora establezcamos que es lo que contendrá el menu, en mi caso yo coloque lo siguiente:
<?xml version="1.0" encoding="UTF-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/Informacion"
android:icon="@drawable/ic_launcher"
app:showAsAction="ifRoom"
android:title="Info"/>
<item
android:id="@+id/menuof1"
app:showAsAction="never"
android:title="Menu 1"/>
<item
android:id="@+id/menuof2"
app:showAsAction="never"
android:title="Menu 2"/>
<item
android:id="@+id/menuof3"
app:showAsAction="never"
android:title="Menu 3"/>
</menu>
¿Que hace?
<item
android:id="@+id/Informacion"
android:icon="@drawable/ic_launcher"
app:showAsAction="ifRoom"
android:title="Info"/>
Establece un icono, de acceso a una acción, aquí es muy importante el indicar la propiedad que se encuentra en negrita, eso nos permite que siempre se muestre en la barra.
<item
android:id="@+id/menuof1"
app:showAsAction="never"
android:title="Menu 1"/>
<item
android:id="@+id/menuof2"
app:showAsAction="never"
android:title="Menu 2"/>
<item
android:id="@+id/menuof3"
app:showAsAction="never"
android:title="Menu 3"/>
Crea un conjunto de menus, dentro del menu con los tres puntos.
3. Ahora es necesario que este menu se muestre dentro del layout, para ello vamos a agregar a nuestro activity el siguiente código:
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.menutool, menu);
return base.OnCreateOptionsMenu(menu);
}
4. Por ultimo tenemos que asignar una acción a cada uno de los botones
public override bool OnOptionsItemSelected(IMenuItem item)
{
string textToShow;
if(item.ItemId == Resource.Id.Informacion)
{
textToShow = "Informacion";
}
else
{
textToShow = "Menu XX";
}
Android.Widget.Toast.MakeText(this, item.TitleFormatted + ":" + textToShow,
Android.Widget.ToastLength.Long).Show();
return base.OnOptionsItemSelected(item);
}
Al probar en el emulador
Felices lineas
El Alien de México
No hay comentarios.:
Publicar un comentario