Como añadir un PopUpMenu

En el siguiente ejemplo veremos como utilizar el widget PopUpMenu que nos permitirá mostrar un menú de acciones relativas a un ImageView, TextView o a cualquier View que este disponible en nuestra Activity. Este control se implementó junto a la API 11 de Android, Honeycomb, aunque también podemos usarlo con la librería de soporte v7. Nos permite mostrar una lista de opciones emplazada debajo de otra View.

Para el ejemplo cargaremos 4 imágenes en un LinearLayout(HorizontalScrollView) y añadiremos un PopUpMenu al tocar cualquiera de ellas. Para ello necesitaremos, por un lado un archivo xml que definirá las opciones del PopUpMenu, y por otro lado, escuchar el evento onClick de nuestras ImageViews para mostrarlo.

Añadiendo el PopupMenu

1- Creamos un archivo xml dentro de ‘res > menu’ con las opciones que queramos asignar :

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

    <item
        android:id="@+id/menu_compartir"
        android:title="Compartir"
        android:visible="true"/>
    <item
        android:id="@+id/menu_eliminar"
        android:title="Eliminar"
        android:visible="true"/>


</menu>

2- Modificamos el evento onClick de nuestras imágenes para instanciar el PopUpMenu.

//Se han omitido los métodos para cargar las imágenes y el instanciamiento de los views.

ImageView.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				PopupMenu popupMenu = new PopupMenu(PopUpMenu.this, arg0);
		popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
			
			@Override
			public boolean onMenuItemClick(MenuItem item) {
				switch (item.getItemId()) {
				case R.id.menu_compartir:
					
					break;
				case R.id.menu_eliminar:

				default:
					break;
				}
				return false;
			}
		});
		popupMenu.inflate(R.menu.popupmenu);
		popupMenu.show();
				
			}
		});

 Línea a línea :
7 : Instanciamos un nuevo PopUpMenu pasándole el contexto de la actividad y el View que viene dado por el evento onClick (línea 6).

8 : Añadimos un listener setOnMenuItemClickListener() para saber cuando se ha pulsado una opción del menú. Posteriormente con un switch identificamos la opción pulsada.

24 : Haciendo uso de inflate(Res.id) le pasamos nuestro archivo xml anteriormente creado.

25 : Y finalmente mostramos el menú con show().

 

En el siguiente vídeo podéis ver el ejemplo funcional.

 

 

 

También te puede interesar…

Como utilizar el spìnner Android

Cómo utilizar el Spinner

Dentro de los diferentes tipos de componentes gráficos que podemos encontrar para crear nuestro diseño encontramos el ‘Spinner’. Un  elemento desplegable que muestra uno o mas valores de selección. En este artículo veremos cómo utilizar el spinner en nuestra interfaz y como podemos modificar su apariencia para adecuarla a nuestra línea de diseño…

También te podría gustar...

Ads Blocker Image Powered by Code Help Pro

Bloqueador de anuncios detectado

Por favor, desactiva tu bloqueador de anuncios para este sitio web. Sabemos que la publicidad puede resultarte molesta, pero esta es la única manera de mantener la web de forma gratuita y accesible para todo el mundo.