Android - Snackbar vs Toast - uso e diferença

103

Temos usado apenas o Toasts em nosso aplicativo até agora e, como estamos planejando adotar alguns novos recursos da Support Design Library, estou me perguntando qual é o uso recomendado para Snackbar vs. Toast.

Tenho lido no Google Material Snackbar doc.

Snackbars fornecem feedback leve sobre uma operação em um pequeno pop-up na base da tela no celular e no canto inferior esquerdo do desktop. São, sobretudo, elementos na tela, inclusive a FAB.

e torradas.

O Android também oferece uma torrada em forma de cápsula, usada principalmente para mensagens do sistema. Brindes são semelhantes a lanchonetes, mas não contêm ações e não podem ser retirados da tela.

Eu entendo o que eles fazem, mas estou um pouco confuso quando usar o quê. Isso significa que:

  • Se eu não exigir a interação do usuário, usaria um brinde?
  • O que significa "sistema de mensagens"? Isso se aplica à exibição de informações quando algo importante acontece entre meu aplicativo e o sistema Android?
  • O que eu gosto é do recurso de deslizar para fora da tela - seria esse um motivo para começar a substituir torradas por barras de aperitivo? (esta é uma questão um pouco baseada em opinião)
Jakub Holovsky
fonte
Este link não está mais funcionando. Talvez este deva ser usado material.io/guidelines/components/snackbars-toasts.html ?
Vadim Kotov

Respostas:

109

Se eu não exigir a interação do usuário, usaria um brinde?

Você ainda pode usar o Snackbar. Não é obrigatório ter uma ação com Snackbar.

O que significa "sistema de mensagens"? Isso se aplica à exibição de informações quando algo importante acontece entre meu aplicativo e o sistema Android?

Eu acredito que isso significa que brindes devem ser usados ​​se houver algumas mensagens pertencentes ao sistema. O Android como um todo ou algum serviço em segundo plano que você possa estar executando. Ex: Text-To-Speech is not installed.ORNo Email client found.

O que eu gosto é o recurso de deslizar para fora da tela - isso seria um motivo para começar a substituir torradas pelo Snackbar? (esta é uma questão um pouco baseada em opinião)

Esse é um dos motivos. Mas existem vários outros pontos positivos. Por exemplo: sua torrada permanece na tela mesmo quando a atividade termina. Snackbar não. Haverá menos confusão se o toast não aparecer (ou continuar aparecendo no caso de criação de vários toast em sequência) muito tempo depois que o aplicativo for encerrado. Isso não vai acontecer com o Snackbar.

Mais do que tudo: sugiro que se você está pensando, mude. SnackBars parecem muito melhores do que torradas.

AndroidMechanic - Viral Patel
fonte
18
Saúde, o fato de o Snackbar estar vivo apenas enquanto você está na atividade é realmente útil.
Jakub Holovsky
9
Eu acrescentaria que brindes são preferidos para mensagens que se referem ao aplicativo como um todo, além de mensagens do sistema, enquanto Snackbars são preferidos para mensagens que se referem à atividade atual. Por exemplo, se seu aplicativo verifica se há atualizações na inicialização, é melhor usar um brinde para a mensagem de resultado. Se o seu aplicativo tiver itens que podem ser excluídos, é preferível mostrar a mensagem de resposta excluída como uma barra de ferramentas com um botão desfazer.
Subaru Tashiro
10
Outra coisa a observar é que os toasts não são exibidos quando as notificações são desativadas.
Horatio
Outra diferença importante é que apenas um Snackbar é mostrado a qualquer momento, ao contrário do Toast - você pode ter vários Toasts mostrados um em cima do outro, o que pode ser irritante para o usuário, especialmente considerando o fato de que eles não podem ser removidos por passando.
Firzen
47

Eu gostaria de adicionar uma pequena comparação entre torradas e lanchonete. Na minha opinião, se a sua intenção é apresentar um aviso ou informação que necessite da interação / reconhecimento do usuário, você deve usar uma lanchonete. Se for apenas uma mensagem informativa que não precisa de confirmação do usuário, você pode usar o brinde.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                Toast                                 |                                 Snackbar                                 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| 1 | Cant be dismissed by swiping                                        | Can dismiss by swiping                                                   |
| 2 | Activity not required (Can show in android home or above other apps) | Can show inside an activity of your app                                  |
| 3 | Cant handle user input                                              | Can handle user input                                                    |
| 4 | Good for showing info messages to user                               | Good for showing warning/info type messages to user that needs attention |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Midhun MP
fonte
26

Torrada:

  1. Toast foi adicionado na API de nível 1
  2. Basicamente, a atividade não é necessária (pode ser exibida na página inicial do Android ou mesmo acima de outros aplicativos)
  3. Ele não pode realizar uma ação com base na entrada do usuário
  4. Não pode ser dispensado ao deslizar
  5. Ele não pode lidar com a entrada do usuário, como deslizar, clicar etc.
  6. Bom para mostrar mensagens informativas ao usuário

Lanchonete:

  1. SnackBar foi adicionado na API de nível 23
  2. Pode ser mostrado dentro de uma atividade dos Aplicativos
  3. Ele pode realizar uma ação
  4. Pode ser dispensado deslizando
  5. Ele pode lidar com a entrada do usuário
  6. Bom para mostrar mensagens de aviso / tipo de informação ao usuário que precisa de atenção

Uso de SnackBar e Toast:

Lanchonete:

O SnackBar pode ser usado nas áreas onde uma mensagem pop-up simples precisa ser exibida junto com uma opção para executar uma ação. Por exemplo: No aplicativo GMail, quando você exclui o Mail, o SnackBar rápido é exibido na parte inferior com a mensagem '1 excluído' com um botão de ação 'Desfazer'. Ao pressionar o botão de ação 'Desfazer', o e-mail excluído será restaurado.

Torrada:

O Toast pode ser usado nas áreas onde as mensagens do sistema precisam ser exibidas.

Por exemplo:

Quando seu aplicativo tenta baixar JSON do servidor remoto, mas falha devido ao tempo limite do servidor ou nenhum recurso encontrado, você só precisa exibir a mensagem de erro dizendo que 'Ocorreu um erro'. Mas entenda que a mensagem do Toast não pode ser descartada deslizando o dedo. Se você ainda deseja ter a capacidade de dispensá-lo em seu aplicativo, vá para SnackBar.

Dhaval Jivani
fonte
13

De acordo com a documentação oficial na visão geral das mensagens pop-up :

Observação: a classe Snackbar substitui o Toast . Embora o Toast ainda seja compatível, o Snackbar agora é a forma preferida de exibir mensagens breves e temporárias ao usuário.

e documentação Snackbars (Material Design) :

Conceitos relacionados: O Android também fornece uma classe Toast com uma API semelhante que pode ser usada para exibir notificações no nível do sistema. Geralmente, lanches são o mecanismo preferido para exibir mensagens de feedback aos usuários, pois podem ser exibidos no contexto da IU onde a ação ocorreu. Reserve o Toast para casos em que isso não possa ser feito.

lcnicolau
fonte
2

Do Google Especificação de design de material diz que não há problema em ter um Snackbar sem ação. Eles forneceram exemplos de como um Snackbar deve se parecer se exibir apenas uma única String. Eu presumiria que "Mensagem do sistema" significa eventos do dispositivo, como a perda da conexão de rede - enquanto o arquivamento de um e-mail é uma ação específica do Gmail, por exemplo.

Para fins de consistência, faz sentido escolher um Toast ou um Snackbar e aplicá-los em todo o seu aplicativo.

chave fractal
fonte
1
Esse link foi movido: material.io/design/components/snackbars.html
Antonio Vinicius Menezes Medei
1

A resposta curta é que essas são duas maneiras de comunicar coisas ao usuário que acontecem em segundo plano, e você pode escolher uma delas, ambas bem. Apenas certifique-se de usar o mesmo e não alternar entre eles.

A longa resposta:

  • Não, isso significa que se você precisar de alguma ação, deve usar o Snackbar. Você ainda pode usar o Snackbar apenas para mensagens (como "Upload concluído").
  • Por "sistema" não significa apenas sistema Android. Por exemplo, se houve um problema de análise json ao obter informações do servidor, você ainda pode usar o brinde para informar ao usuário que ocorreu um problema durante a comunicação com o servidor.
  • Se você realmente precisa tirá-lo, esse é um motivo para escolher o Snackbar
shem
fonte
1

Nossa equipe de design também está pensando em usar torradas ou barras de lanche. Chegamos à conclusão de que o aplicativo deve usar lanchonetes devido à sua flexibilidade.

Os brindes só devem ser usados ​​quando precisamos de uma mensagem de informação persistente e curta, que ainda faz sentido em diferentes telas.

Vennsoh
fonte
1

Diferença entre Toast e Snackbar Android

  • As mensagens de brinde podem ser personalizadas e impressas em qualquer lugar da tela, mas um Snackbar só pode ser mostrado na parte inferior da tela.
  • Uma mensagem do brinde não tem botão de ação, mas Snackbar pode ter botão de ação opcional.
  • A mensagem do brinde não pode ser desativada até que o limite de tempo termine, mas o Snackbar pode ser desativado antes do limite de tempo.
  • Você pode definir por quanto tempo a mensagem será exibida usando esses três valores diferentes.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

Uso

Torrada

Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

Lanchonete

Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);
snackbar.show();
Velmurugan Murugesan
fonte
0

O Android também oferece uma torrada em forma de cápsula, usada principalmente para mensagens do sistema.

Acho que as "mensagens do sistema" também se referem ao fato de que um brinde será mostrado por um tempo específico e não pode ser dispensado mesmo se o usuário navegar pelas atividades e mesmo se o aplicativo for movido para segundo plano.

Considero uma vantagem do snackbar limitar o seu âmbito a uma actividade e poder dispensá-la.

Peter F
fonte