DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
14-09-2015

Muchos son los cambios que han incorporado las últimas versiones de las Librería de Soporte de Android para introducir principalmente elementos del Material Design en versiones anteriores de Android en las cuales lógicamente no cuentan con el soporte para estos nuevos elementos; entre los principales cambios tenemos:

La Librería de Soporte de android para introduce elementos del material Design

En esta entrada veremos cómo emplear el Snackbar en una aplicación Android, que ha mi parecer es otra de las grandes características que trae el Material Design igual que el FloatActionButton o Botón de Acción Flotante que ya hemos tratado anteriormente.

¿Qué es el Snackbar?

Siguiendo hablando un poco de experiencias personales, vi por primera vez este nuevo elemento llamado Snackbar en las últimas versiones publicadas de Gmail las cuales venían poco a poco estableciendo características del Material Design:

Deshacer en Gmail con el snackbar

El Snackbar da la posibilidad de revertir algunas de las operaciones críticas que se han realizado, como borrar un correo en el caso de Gmail.

El Snackbar no es lo mismo que el Toast

Este elemento llamado Snackbar podríamos considerarlo en una variación del ya conocido Toast para los mensajes que ha estado desde los inicios de Android:

Ejemplo de Toast en android

Tanto el Toast como el Snackbar presentan grandes similitudes en lo que al aspecto y comportamiento se refiere, sin embargo el Snackbar presenta otras características como un botón que ha su vez está asociado a un evento OnClick desde se puede realizar cualquier tarea como revertir acciones (tal cual lo emplea Google en su aplicación Gmail para Android).

¿Cómo emplear el Snackbar en una aplicación Android desde la Librería de Soporte?

Construimos el Snackbar a través del método make() que consta de los siguiente parámetros: make(View view, int resId, int duration).

El componente de la vista view es la vista padre; de nuestra aplicación.

La duración duration tiene establecidas una serie de constantes las cuales veremos a continuación:

Constantes
int LENGTH_INDEFINITE Muestra el Snackbar indefinidamente.
int LENGTH_LONG Muestra el Snackbar for por un largo período.
int LENGTH_SHORT Muestra el Snackbar por un corto período de tiempo.

El recurso de un texto: resId o un String como en nuestro caso.

También cuenta con un método setAction(CharSequence, android.view.View.OnClickListener). en el cual se especifica el comportamiento (Listener) y texto del botón.

Finalmente mostramos el Snackbar a través del método show(); veamos el código de ejemplo completo:

        Snackbar
                .make(layout,"Audio eliminado", Snackbar.LENGTH_LONG)
                .setAction("Deshacer", snackbarClickListener)
                .show();

Definimos el evento Listener del botón:

    View.OnClickListener snackbarClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // el usuario presiono el boton, revirtio el proceso
            Log.i("Snackbar","Botón presionado");
        }
    };

Si nuestro layout incluyera el el FloatActionButton quedaría de la siguiente manera:

<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">

   <android.support.design.widget.FloatingActionButton
       android:id="@+id/record_fab"
       style="@style/FloatingActionButtonStyle"
       android:src="@mipmap/ic_av_mic"
       app:backgroundTint="@color/color_primary"
       app:layout_anchor="@id/audio_rv"
       app:layout_anchorGravity="bottom|right|end" />
</RelativeLayout>
Lo nuevo del Material Design: el Snackbar

Una de las muchísimas características y reglas que componen la guía de diseño del Material Design de Google específica que no se deben solapar elementos de esta manera (en este caso, el FloatActionButton) y en cambio debe se ocurrir una suave transición; esto y más será tema de una próxima entrada.


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

Paleta de colores para el Material Design

Paleta de colores para el Material Design

Generador de launcher para Android sin padding

Generador de launcher para Android sin padding

Templates para Android y iOS

Templates para Android y iOS

Algunos artículos que te pueden interesar

Los ViewPager para desplazarse  entre pantallas (fragments) en Android

Los ViewPager para desplazarse entre pantallas (fragments) en Android

Los viewPager son unos tipos de vistas que cada vez son más comunes y permite desplazarnos entre distintas pantallas a través; son perfectas para emplearlas en conjunto con los fragments.

Andrés Cruz 08-11-2016

Cómo establecer fragments en los tags en Android

Cómo establecer fragments en los tags en Android

Se explica un simple caso de cómo podemos establecer varios fragments en tags y de esta forma crear vistas deslizables, además de poder cambiar de un fragment a otro cuando lo deseemos.

Andrés Cruz 13-07-2016

Cómo ejecutar múltiples emuladores en Android Studio en un mismo proyecto

Cómo ejecutar múltiples emuladores en Android Studio en un mismo proyecto

Se explica como emplear múltiples emuladores en Android Studio en un mismo proyecto.

Andrés Cruz 24-10-2016