contacto[arroba]digitallearning.es
Implementación Botón Con Evento OnClick

Detección de eventos en la interfaz de usuario

Post Series: Creación de Apps Android: diseño de Interfaz de Usuario

Tras describir cómo crear distintos tipos de layouts (diseños) para una interfaz de usuario en una Aplicación Android, veremos cómo hacer posible la interacción del usuario con los elementos de esa interfaz (botones, campos de texto,…) utilizando la pantalla táctil o las teclas de navegación.

Dentro de las posibilidades que proporciona Android para controlar los eventos de interacción del usuario con la interfaz gráfica, veremos aquellos encargados de detectar cuando se produce una pulsación sobre un objeto View, como por ejemplo un Button (botón).

Un detector de eventos podemos definirlo como una interfaz de la clase View, que contiene un método callback o de devolución de llamada. Dicho método será llamado cuando la vista donde se ha registrado el oyente (listener) es desencadenada por la interacción del usuario con el elemento perteneciente a la interfaz.

Nota: en la anterior publicación ya vimos que una View (vista) ocupa un área rectangular en la pantalla y es la responsable de dibujar los componentes y manejar los eventos que definamos sobre la interfaz de usuario

En la siguiente lista se describen los métodos que detectarán los eventos producidos por el usuario:

onClick()

Implementado con la interfaz View.OnClickListener. Este método será llamado cuando el usuario toca el elemento en una interfaz táctil o se centra en dicho elemento cuando lo selecciona con las teclas de navegación y pulsa la opción de entrar.

onLongClick()

Implementado con la interfaz View.OnLongClickListener. Este método será llamado cuando el usuario toca el elemento manteniéndolo pulsado en una interfaz táctil o se centra en dicho elemento cuando lo selecciona con las teclas de navegación y pulsa la opción de entrar dejándolo pulsado.

onFocusChange()

Implementado con la interfaz View.OnFocusChangeListener. Este método será llamado cuando el usuario se posicione sobre el elemento.

onKey()

Implementado con la interfaz View.OnKeyListener. Este método será llamado cuando el usuario se posiciona sobre el elemento pulsando o soltando una tecla del dispositivo.

onTouch()

Implementado con la interfaz View.OnTouchListener. Este método será llamado cuando el usuario realice cualquier acción relacionada con la pulsación, dejar de pulsar o gestos sobre la pantalla táctil del dispositivo.

onCreateContextMenu()

Implementado con la interfaz View.OnCreateContextMenuListener. Este método será llamado cuando el usuario mediante una pulsación prolongada, defina la visualización de un menú contextual.

Construcción de un detector de entradas

Vamos a ver un sencillo ejemplo práctico, mostrando tres posibilidades de implementación del evento onCLick(). En el ejemplo, cuando el usuario toca-pulsa el botón, se lanza un mensaje por pantalla informando de este hecho:

Método setOnClickListener() , pasándole una instancia de ClickListener:

Implementando la interfaz OnClickListener como parte de la Activity, y el método onClick(View v). Al implementar la interfaz View.OnClickListener, mostrará un error, y bastará con seleccionar con el cursor dicha interfaz y con la combinación Alt + Enter, nos mostrará una ventana modal con la opción «Implement methods» que añadirá automáticamente el método onClick():

 

Definiendo el evento onClick() en dicha propiedad a nivel de layout (a nivel de código, se puede observar cómo se define un método llamado lanzarEvento(), que recibe como parámetro de entrada una objeto de tipo View, y que debe coincidir con el método declarado en la propiedad onClick):

Dentro del layout se define un método llamado lanzarEvento en la propiedad onClick. Este método deberá implementarse en la Activity que mostrará esta pantalla:Implementación botón con evento OnClick

 

This Post Has One Comment

Comments are closed.