Android Componentes

Como Usar SnackBar no Android com Kotlin

Tiago Aguiar Desenvolvedor ios

Escrito por Tiago Aguiar

em 13/01/2023

Snackbars são uma ótima maneira de fornecer feedback breve aos usuários no Android. Eles são leves e aparecem na parte inferior da tela, tornando-os fáceis de acessar e dispensar.

Neste artigo, vamos aprender como criar e usar snackbars em Kotlin.

snackbar photo

Primeiro, precisamos garantir que temos a dependência do Material Components no nosso arquivo build.gradle que nos dará acesso aos componentes MaterialDesign, incluindo o Snackbar.:

implementation 'com.google.android.material:material:1.7.0'

Em seguida, podemos criar um Snackbar chamando o método make() na classe Snackbar e passando a visualização atual que está executando como o primeiro argumento. Por exemplo:

Snackbar.make(findViewById(android.R.id.content), "Olá, Snackbar!", Snackbar.LENGTH_SHORT).show()

Neste exemplo, estamos passando uma visualização, o texto "Olá, Snackbar!" e a duração do snackbar (neste caso, Snackbar.LENGTH_SHORT).

Existem mais duas durações como Snackbar.LENGTH_LONG e Snackbar.LENGTH_INDEFINITE.

Customizando a SnackBar

Para adicionar uma ação ao Snackbar, podemos usar o método setAction(), que recebe dois argumentos: o texto a ser exibido no botão de ação e um listener a ser chamado quando o botão for pressionado:

snackbar.setAction(android.R.string.ok) {
        // aqui acontece a ação!
        val intent = Intent(this@MainActivity, MainActivity::class.java)
        startActivity(intent)
}

Para mudar a cor de fundo do Snackbar, podemos usar o método setBackgroundTint():

snackbar.setBackgroundTint(ContextCompat.getColor(this, R.color.teal_700))
// ou
snackbar.setBackgroundTint(Color.RED)

Também podemos mudar a cor do texto do Snackbar usando o método setTextColor():

snackbar.setTextColor(Color.WHITE)

Também podemos mudar a cor do texto de ação da Snackbar usando o método setActionTextColor():

snackbar.setActionTextColor(ColorStateList.valueOf(ContextCompat.getColor(this, R.color.teal_700)))

Criando uma SnackBar Interativa

No exemplo abaixo, estamos criando um Snackbar que exibe o texto "Carregando..." e não tem duração definida (Snackbar.LENGTH_INDEFINITE). Também adicionamos um botão de ação com o texto "Cancelar" que dispensa o Snackbar quando o usuário pressionar o botão.

Dessa maneira, podemos interagir com o usuário, veja:

val snackbar = Snackbar.make(view, "Carregando...", Snackbar.LENGTH_INDEFINITE)
snackbar.setAction("Cancelar") {
    snackbar.dismiss()
}
snackbar.show()

Observe que ao usar o snackbar indefinido, você deve ter cuidado em dispensá-los programaticamente ou fornecer uma maneira para o usuário dispensá-lo, caso contrário ele ficará na tela indefinidamente.

Além disso, se você quiser mudar a cor do Snackbar, pode usar o método setBackgroundTint() e setTextColor() para mudar a cor do texto do Snackbar, assim como no exemplo anterior.

Recapitulando

A Snackbar é uma ótima maneira de fornecer feedback aos usuários de maneira não intrusiva. Ele é leve, fácil de usar e personalizável. Com os exemplos acima, você pode criar e personalizar um Snackbar em Kotlin.

Vou deixar um tutorial da SnackBar em video onde mostramos boas práticas de usá-lo em conjunto com componentes como o Floating Action Button.

Me siga nas redes sociais:


Artigos Relacionados

Como Instalar o Android Studio no Windows

Como Instalar O Android Studio No Windows

Android Studio é a ferramenta oficial desenvolvida criado pelo Google com recursos para criar aplicativos Android...

Principais Tipos de Dados em Kotlin

Principais Tipos De Dados Em Kotlin

Neste video você vai aprender os principais tipos de dados disponíveis no core da linguagem de programação Kotlin...

Aprender a Programar Para Android do Zero: Primeiros Passos

Aprender A Programar Para Android Do Zero: Primeiros Passos

Acredite ou não, aprender a programar aplicativos para Android é de longe uma das coisas mais divertidas que pode...

WebView Android: Transforme Sites e Blogs em Aplicativos

Webview Android: Transforme Sites E Blogs Em Aplicativos

A WebView é um componente do sistema Android que permite exibir conteúdos de sites responsivos e blogs dentro de ...