Crear notificaciones Toast

En esta entrada hablaremos sobre cómo crear notificaciones Toast.

Primero crearemos una notificación Toast básica: con la ubicación y forma por defecto con información sobre el contacto como texto.

Podemos hacer que aparezca al pulsar un botón o en el evento que veamos conveniente, en mi caso lo mostraré al pulsar el icono de contacto de la “Action Bar”. En la clase MainActiviy y dentro de la función “onOptionsItemSelected” cuando seleccionamos el icono de contacto añadimos:

Toast toast1 = Toast.makeText(getApplicationContext(), 
       "Visita JCristobal en GitHub", Toast.LENGTH_SHORT);
 toast1.show();

También podremos personalizar el toast. Para ello crearé un layout (“toast_layout.xml”) con una imagen (gitmark), texto y elementos básicos como el color de fondo, cambiado a verde:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lytLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:background="#228B22"
    android:padding="5dip">


    <ImageView android:id="@+id/imgIcono"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:src="@drawable/gitmark" />

    <TextView android:id="@+id/txtMensaje"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:textColor="#FFFFFF"
        android:paddingLeft="10dip" />

</LinearLayout>
    

Y para crearlo modifico el código anterior de la función “onOptionsItemSelected”:

Toast toast_personalizado = new Toast(getApplicationContext());
 LayoutInflater inflater = getLayoutInflater();
 View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.lytLayout));
 TextView txtMsg = (TextView)layout.findViewById(R.id.txtMensaje);
 txtMsg.setText("Visita JCristobal en GitHub");
 toast_personalizado.setDuration(Toast.LENGTH_SHORT);
 toast_personalizado.setView(layout);
 toast_personalizado.show();

El código simplemente crea el toast, le asigna nuestro layout personalizado, duración por defecto y texto que mostrara. En este pantallazo muestro cómo se vería:

Para más información sobre los toast puedes consultar esta página.

Anuncios

Un comentario en “Crear notificaciones Toast

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s