lunes, julio 26, 2021

Toast y SnackBar

Deberías leer

Antonio García Pratshttp://antoniogarciaprats.eu/
Estudios de Licenciatura en CC Quimicas e Ingeniería Técnica en Informática de Gestión por la Universidad de Jaén. Social Media autodidacta. Siempre en búsqueda de nuevos retos que proporcionen algún sentido a mi existencia.

En ocasiones en nuestra aplicación requerimos mostrar algún tipo de mensaje, visible sólo durante unos segundos, que informe al usuario sobre alguna particularidad. En android es posible visualizar estos mensajes de dos formas diferentes: la más sencilla es la llamada toast; una segunda será la conocidad como snackbar. Voy a mostrarle unos ejemplos de cómo utilizarlos.

Toast

Quizás es el más sencillo de los ejemplos que veremos en éste artículo. Veamos: es importante que tengamos declarada al inicio de nuestro fichero .java la librería necesaria.

import android.widget.Toast;

Estos mensajes aparecen como consecuencia de un evento sobre la pantalla de nuestro terminal móvil. Para ser un poco más precisos en nuestro ejemplo voy a diseñar una sencillísima aplicación en la que se muestre un botón. Al pulsar éste botón aparecerán los mensajes. Como podemos ver en el siguiente código, tenemos lo primero que enlazar el elemento gráfico con el código a través de la función findViewById, cuyo argumento será el identificador que le asignamos al botón en la columnas de propiedades.

Lo siguiente será hacer una llamada a un evento a través del objeto lístener adecuado. El código queda como sigue:

package es.antoniogarciaprats.mensajestest;

import androidx.appcompat.app.appCompatActivity;

public class MainActivity extends AppCompatActivity {

    protected Button boton;
    protected ConstraintLayout constraintLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        boton = findViewById(R.id.pulsame);
        constraintLayout = findViewById(R.id.mainLayout);

        boton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

    }
}

Dentro del procedimiento público onClick insertaremos el código necesario para llamar al Toast o, lo veremos después, al snackBar. La función tendrá la siguiente forma:

Toast.makeText(getApplicationContext(), "Este es el mensaje que pretendemos mostrar", Toast.LENGTH_SHORT).show ();

Tenemos tres argumentos: una que referencie el cotexto en el que estamos trabajando, el mensaje en sí que deseamos mostrar y, por último una indicación al tiempo en el que queremos que se muestre el mensaje por la pantalla: un intervalo corto con LENGTH_SHORT o largo: LENGTH_LONG. Por último, concatenamos una llamada a la función show (), que lo mostrará en pantalla.

No hay mucho más que contar sobre éste tema. Vamos a dedicarnos ahora a crear un SnackBar para nuestra aplicación.

SnackBar

Las snackbar muestran un mensaje en la parte inferior de los dispositivos móviles, y desaparecen automáticamente después de un tiempo de espera o por la interacción del usuario en otra parte de la pantalla. Vamos a ver como programar uno de éstos mensajes en la anterior app.

Lo primero es importar la librería de material design de google en nuestro fichero gradle añadiendo ésta línea de código:

implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'

en la sección de dependencias. Antes que nada tendremos que escribir un identificador para nuestra layout. En mi caso estoy trabajando con una ConstraintLayout, por lo que tendré que agregarle la siguiente línea de código:

android:id="@+id/mainLayout";

A continuación crearemos una variable que una éste elemento de la interfaz al código, como lo hacemos habitualmente:

 ConstraintLayout contraintLayout = findViewById (R.id.mainLayout);

Lo que resta es muy parecido a lo que habíamos hecho con Toast. Llamaremos a una función make a la que habrá que pasarle tres argumentos: el layout en donde se va a visualizar el SnackBar -esto es lo que lo diferencia de Toast, que le pasabamos una referencia del contexto-, el mensaje que queremos visualizar y, por último, el código que indicará la duración del mensaje en pantalla.

El código fuente lo indico a continuación:

Snackbar snackbar = Snackbar.make(constraintLayout, "este es un mensaje para mi Snackbar", Snackbar.LENGTH_SHORT );
snackbar.show();

Con éstas simples líneas ya hemos terminado el trabajo. Os dejo la pantalla de cómo se visualizaría.

- Advertisement -spot_img

Más publicaciones

Dejar respuesta

Please enter your comment!
Please enter your name here

- Advertisement -spot_img

Últimas publicaciones