Notificaciones : Toast

Un Toast es un tipo de notificación que se superpone a cualquier ventana, que no puede ser cancelado y que no permite interactuar con él. Principalmente se ubican en la parte inferior – central de la pantalla, aunque podemos definirle una ubicación más concreta mediante el metodo setGravity(). Los únicos controles que podemos añadirle son  ImageView y TextView si lo hacemos mediante un layout personalizado.

 

Definiendo un Toast

Un Toast necesita 3 valores mínimos para mostrarse, estos son:

  • Contexto de aplicación – Context
  • Texto a mostrar – String
  • Duración del Toast – int
    • LENGHT_LONG   : 1
    • LENGHT_SHORT : 2

Podemos instanciarlo directamente pasándole el método makeText() para formarlo. Para mostrarlo basta con llamar al método show().

Toast Básico Android

 

 

Como posicionarlo

Por comodidad estas notificaciones aparecen centradas en la parte inferior de la pantalla, pero podemos modificarlo definiendo el método setGravity(int Gravity, int XOffset, int YOffset).

  • Gravity
    • START, END, CENTER, BOTTOM, TOP, RIGHT, LEFT…

 

Toast básico con ubicación personalizada

 

Toast con Layout personalizado

Otra opción que tenemos, es crear un archivo xml donde definiremos las propiedades del Toast. De esta manera podremos incluir un fondo propio y añadir un icono. Veamos un ejemplo :

  • Creamos un nuevo archivo XML en la carpeta ‘Res > Layout’ que utilizaremos para darle forma a nuestro Toast, en este caso incluiremos un ImageView donde se mostrara el icono de la aplicación, seguido de un TextView.

 

Una vez definido el XML ya solo queda enlazar el archivo mediante el uso de LayoutInflater. Este nos permitirá instanciar el layout que acabamos de crear mediante el método inflate(int, ViewGroup), donde el primer parámetro hace referencia al nuevo archivo creado [R.layout.layout_toast], y el segundo, ViewGroup, será el componente contenedor. [R.id.Linearlayout_toast].

 

 

Toast personalizado, Custom Layout

Mario Camí Author

Desarrollador de aplicaciones Android. Amante de todo lo Open Source, de los videojuegos y nuevas tecnologías. En mi tiempo libre comparto todo lo aprendido y lo que aprendo en el desarrollo de Android a modo de artículo en el blog. La información nos hará libres!