0:03
Okey, a nuestro botón FloatingActionButton le he colocado un mensaje
que dice favorito, un mensaje que cuando lo pulsas aparece así.
Estos mensajes se llaman Toast o Toast, así también son conocidos.
Aquí también lo podemos ver en nuestro emulador aquí dice favorito,
favorito porque es un ícono de una estrellita.
Y aquí esta el código, este es el código que he utilizado para definir un mensaje
de tipo Toast, básicamente seleccionamos la clase, definimos la clase.
Utilizamos un método makeTest, posteriormente colocamos el contexto
y el siguiente parámetro que nos recibe es el mensaje,
el mensaje a mostrar o el mensaje que he definido está en mi archivo string
y si vamos para el string aquí esta una variable que se llama mensaje que contiene
el texto, favorito, carita feliz y acá en mi,
1:05
lo estoy obteniendo a partir de la instrucción getResources.getString,
de esta forma es como obtenemos recursos desde código Java.
Okey, getResources.getString y gracias a nuestro
archivo R.string obtenemos el mensaje.
El siguiente parámetro es nuestro, la duración del mensaje.
Aquí estamos definiendo una duración del mensaje de tipo short,
una duración corta que, simplemente aparece y desaparece.
Esos tipos de mensaje es que son muy útiles,
son muy comunes, cuando manejamos notificaciones.
Notificaciones cuando queremos notificarle al usuario que algo sucedió exitosamente.
Y entonces finalmente you que hemos hecho todo esto,
colocamos el método show, sin este método
no se muestra el mensaje aunque lo hayamos configurado a la perfección.
Sin show, no vamos a mostrar el mensaje.
Pero te tengo una mala noticia, estos mensajes llamados Toast you no
están disponibles o you no entran dentro del material
design sino que ahora ha llegado un nuevo elemento,
un nuevo widget, que ha venido a reemplazar estos mensajes Toast.
Este widget se llama Snackbar, Snackbar.
Entonces simplemente voy a comentar esta línea de código que tenemos
en Toast makeTest y bueno cabe mencionar que me encuentro
dentro del método que definimos en el video anterior.
Agregar FAB y estoy dentro de mi método onClick y ahí es donde
cuando alguien de clic a este botón pues debe aparecer nuestro mensaje.
En este caso aparecerá un mensaje, elemento Snackbar
que esos aparecen en la parte inferior de nuestro teléfono, en la parte inferior
y aparecen también a modo de notificación, simplemente entran de abajo hacia arriba
o simplemente aparecen y están en esta zona de nuestro teléfono.
Este Snackbar viene a reemplazar los mensajes Toast y
para hacer esto, vamos a hacer uno sencillo.
3:37
para que puedas utilizar la clase Snackbar.
Entonces voy a colocar Snackbar y es muy similar
su utilidad como el anterior, los Toast.
Vamos a hacer aquí, .make y lo primero que nos está pidiendo es un view,
3:55
okey, un view que voy a poder estar recolectando en mi método onClick,
este que está aquí, este objeto v, puedo colocarlo aquí, v, lo
siguiente que debemos mostrar aquí es el texto que se va a mostrar en el Snackbar.
Puedo obtener el texto como lo hice en el ejemplo anterior, getResources.
4:36
y finalmente colocamos la duración de nuestro Snackbar.
Para esto pues, como observas es similar a lo que tenemos
acá en el Toast pero lo haré a través de la clase Snackbar.
Y lo vamos a decir que también sea un length short,
5:16
y posteriormente le diremos que lo corra en nuestro emulador, nuestro emulador,
okey.
Entonces, vamos a esperar un poco que luego compile esto nuevamente [AUDIO
EN BLANCO] you ha terminado, you
simplemente se está preparando para lanzar okey, ha lanzado you la aplicación, vamos
a darle clic y aquí aparece ahora nuestro mensaje, está en esta parte de aquí.
Simplemente entra de abajo hacia arriba aquí se muestra.
Listo, Snackbar son los que han venido a reemplazar a los Toast.
Vamos a correrlo nuevamente para verlo en nuestro emulador.
[RUIDO] Vamos a verlo
6:20
Aquí está, you está lanzando ahí Aquí está,
aquí aparece nuestro mensaje, favorito.
¿Okey?
Este Snackbar lo puedo personalizar mucho más, puedo añadirle más cosas
y puedo añadirle por ejemplo pues que tenga a lo mejor una acción.
6:39
Puedo decirle que cuando aparezca aquí favorito, tenga de este lado un botón o un
texto que funcione como un botón que sea una acción, okey, que sea algo a realizar.
Entonces vamos primeramente a nuestro archivo strings a definir el texto
que va a estar aquí y voy a poner acá strings.
Vamos a poner texto de acción,
7:19
donde estoy trabajando y tengo aquí mi Snackbar donde está el
.show voy a darle un enter para que esta línea de código no se me haga tan larga,
tan larga, y entonces voy a darle un enter y nuevamente voy a darle un enter.
¿Okey?
Entonces lo primero que voy a colocar es la instrucción setAction.
7:39
SetAction y lo primero que recibe es el nombre o el texto que
va a aparecer como el texto indicador de la acción.
En este caso el texto pues lo tenemos, en nuestro archivo string,
getString R.string, se llama texto accion, texto accion.
11:24
Simplemente todo esto me lo sugiere el id,
entonces pues lo vamos a quitar y vamos a ver detenidamente qué pasa.
Le doy new y automáticamente me sugiere la interfaz a OnClickListener, entonces puedo
traérmela y todo el código se completa por sí solo.
Perfecto. Aquí adentro pues yo puedo decir qué pasa,
qué suceda cuando esté, cuando alguien le de clic a mi elemento, okey.
Entonces vamos a ver aquí los paréntesis, que todo coincida perfectamente,
que nada sobre, uno de estos nos está sobrando, este está sobrando, ahí está.
12:25
y le puedo decir click en Snackbar,
click en Snackbar y finalmente .show.
Okey.
Vamos a poner aquí punto y coma y vamos a correr esto,
vamos a correrlo en nuestro emulador para verlo en acción.
Le he cambiado además la duración del mensaje, lo hemos puesto en long,
lo hemos puesto en long, para que el mensaje pues dure más.
¿Okey?
Listo, aquí lo tenemos, está corriendo.
13:20
lanzando la aplicación, y podemos darle clic y you se ve que nuestra acción
cuando le damos clic, esto de el log lo vamos a ver reflejado aquí en nuestro iii.
Okey, nuestro iii vimos reflejado, vamos a nuevamente
a darle clic para que se vea y aquí está, dice click en Snackbar, okey.
Este es un mensaje de información y dimos click en Snackbar.
13:50
Vamos a lanzarlo ahora en nuestro teléfono,
vamos a quitar esto, y de esta forma es cómo podemos estar añadiendo acciones.
Okey.
Vemos y damos clic, y vemos aquí you el botón opción, y de este lado,
14:30
no sé, si quisiéramos cambiar el color del Snackbar, pues simplemente lo
podemos hacer
con la instrucción después de setAction o antes de setAction cómo gustes,
setActionTextColor podemos decir de qué color queremos que se vea por acá.
15:39
cambia el color de nuestro texto, por default está tomando el color de
acentuación, queremos que ahora tome otro color.
Y bueno,
aquí you está tomando el color azul, que fue nuestro color primario que definimos.
Vamos a correrlo en nuestro teléfono, aquí está el color azul,
se está registrando el evento.
Entonces puedes personalizar con material design tanto tu aplicación como
la identidad de tu empresa como la identidad de tu marca.
Aquí también you se ve que tenemos otro color,
que podemos estar registrando cosas.
16:24
Bien, entonces otra cosa que podemos hacer en el Snackbar es que cuando está activo,
pues podemos, podríamos eliminarlo de esta forma pero como observas, no es posible,
okey, no es posible esto porque nos falta colocar un elemento.
Entonces vamos a colocar un elemento adicional para que podamos aquí nosotros
simplemente dando un swipe, quitar el Snackbar.
Y entonces esto no está funcionando de esa forma porque
16:59
el Snackbar tiene que estar corriendo sobre un elemento,
un layout que se llama layout coordinador o coordinator layout.
Entonces, simplemente vamos a ir a nuestro archivo activity main,
ahí nuestro activity main.xml y vamos a definir un archivo
una etiqueta coordinator layout, okey, una etiqueta coordinator layout.
Esta también está en la librería de diseño, okey,
entonces vamos a escribir antes de relative layout,
android.support.design.widget y coordinator layout.
Aquí está, voy a cerrar las etiquetas, ahí, okey.
Entonces tengo la etiqueta abierta y la etiqueta cerrada.
Acá abajo está mi relative layout.
Lo que voy a hacer a continuación pon mucha atención,
para que no te llegue, no vayas a tener problemas más adelante.
Simplemente todos los atributos que tiene new RelativeLayout,
todos los vamos a cortar, okey, los vamos a cortar así,
18:20
Y ahora nuestro relativeLayout,
todo lo que teníamos dentro de nuestro relativeLayout lo vamos a quitar,
lo vamos a cortar y lo vamos a meter en el coordinator layout.
Así.
Perfecto.
Como observas, pues en relativeLayout nos está apareciendo aquí,
18:55
match parent y match parent.
Okey.
Listo. Perfecto.
En un coordinator layout, es un nuevo elemento de material design,
también una nueva etiqueta, vamos a poder hacer este efecto,
que cuando nosotros hagamos swipe la notificación se elimine o se quite.
19:18
Bien, pues vamos a correrlo para probarlo.
Vamos a correrlo en nuestro teléfono.
you ha terminado. Okey, y
you puedo quitar la notificación
simplemente dando swipe en ella de esta forma.
Vamos a hacerlo de nuevo,
ahí está.
Perfecto. De esta forma es cómo podemos
estar manejando nuestro Snackbar y podemos personalizarlo tanto como querramos.