Crie notificações com o Toast Notification no Android (Kotlin)

Toast Notification

O componente que iremos aprender neste conteúdo é o Toast Notification.

Um componente pertencente a própria biblioteca do Android, que é capaz de mostrar pequenas notificações na tela para o usuário.

Para trabalhar com esse tipo de notificação, você deve declarar a classe do Toast informando alguns parâmetros da seguinte forma:

import android.widget.Toast//Importação da biblioteca do Toast
...

Toast.makeText(this, "Título", Toast.LENGTH_SHORT).show()//Mostrando mensagem com Toast

O método makeText é responsável por montar o texto que será mostrado na tela, e ele possuí alguns parâmetros que devemos informar:

Context: É o contexto da aplicação onde o toast será mostrado, no meu caso marquei como this, pois estou mostrando ele na minha Activity.

Title: É o título, a mensagem que será mostrada pelo toast.

Period: É o período, a duração que a notificação ficará na tela do usuário, esta pode ser do tipo curta (LENGTH_SHORT) ou longa (LENGTH_LONG).  

Por fim temos o show() que é o método usado para mostrar a notificação em si.

Também podemos definir o método makeText para dentro de uma variável, a fim de mostrar essa notificação em um momento mais oportuno, vejamos:

val notification = Toast.makeText(this, "Título", Toast.LENGTH_SHORT)//Declaramos o corpo da notificação

//Imagine que existam outros códigos por aqui

notification.show()//Só estamos mostrando a notificação agora

Diferenças entre versões

Nas versões 31 para cima, as notificações toast são mostradas em conjunto com o ícone da sua aplicação:

Em versões mais antigas, a notificação é mostrada sem a presença do ícone.

Atualmente, o toast não conta com uma interface capaz de alterar o ícone, sendo a única forma de fazer isso, é mudando o ícone da aplicação.

Alterando a posição da Toast (Versão 29)

Por meio do método setGravity() nós conseguimos alterar a posição onde a nossa notificação aparecerá.

Por padrão a notificação aparece no canto inferior central da nossa aplicação.

val notification = Toast.makeText(this, "Título", Toast.LENGTH_SHORT)//Declaramos o corpo da notificação

notification.setGravity(Gravity.TOP, 50, 50)

notification.show()//Só estamos mostrando a notificação agora

Dentro do método podemos usar alguns comandos como:

  • Gravity.TOP: Para alinhar no topo.
  • Gravity.LEFT: Para alinhar a esquerda.
  • Gravity.RIGHT: Para alinhar a direita.
  • Gravity.BOTTOM: Para alinhar abaixo.

Além disso, podemos configurar o offSet de Y que controlam o posicionamento na tela. Ali estou usando offSet de X de 50 e Y de 50.

Lembrando que em versões superiores a 30, o Android não aplica o setGravity.

É importante ressaltar que o toast contava com outros métodos, como é o caso do método View, que nos dava a possibilidade de alterar a cor de fundo, o texto e até a fonte da notificação.

Por que os métodos personalizados da Toast foram descontinuados?

Isso aconteceu porque a Google se preocupa muito com a padronização dos seus projetos, e quando temos uma biblioteca que dá a possibilidade do usuário customizar do jeito que ele desejar, essa padronização é perdida.

Isso faz muito sentido, porque se você quer criar uma notificação mais personalizada, basta criar uma pequena View e implementar para dentro da sua Activity, não?

Como recomendação, nos temos uma outra biblioteca chamada de Snackbar que nos dá mais possibilidades para se trabalhar com notificações no Android.

Conclusão

Neste conteúdo você aprendeu a criar notificações usando o Toast Notification.

Até o próximo conteúdo.