Botões
Diferentes tipos de botões, seus usos e suas implementações no aplicativo.
Tipos

De cima para baixo:
Botões Primários
Botões Secundários
Botões Terciários
Botões de Erro/Cancelamento
Da esquerda para a direita:
Botões grandes
Botões médios
Botões pequenos
Uso
Por tipo
Botões Primários: utilizados para a função principal da tela em que se encontra. Só deve existir um botão primário na tela.
Exemplo: nas telas de formulário, o botão primário dever indicar a ação que envia aquele formulário que é, por sua vez, a principal função da tela.
Botões Secundários: utilizados para a segunda função mais importante na tela. Podem existir mais de um.
Botões Terciários: usado para guiar o usuário para outra tela, sendo essa mudança nova um desvio do fluxo seguido até então.
Exemplo: o botão que guia o usuário para a tela de cadastro caso ele ainda não tenha uma conta e esteja na tela de Login.
Botões de Erro e Cancelamento
Exemplo: caso o usuário esteja preenchendo um formulário que insere uma despesa e desista do processo, o botão que fechará a sessão de adição deve ser um botão de erro/cancelamento.
Por tamanho
O tamanho dos botões a serem utilizados pode ser escolhido de acordo com o tamanho do texto que será inserido, por exemplo, "Ok" é uma palavra curta e exige um botão pequeno; "Fazer Login com o Google" é uma frase grande e exige um botão grande.
Exceção: quando os botões se encontrarem dentro de um formulário, serão sempre grandes para se alinharem ao tamanho dos inputs de texto.
Desenvolvimento
Implementação
As tags de botão, não são <Button> e sim <TouchableOpacity>.
Importação do componente:
Implementação do componente
Estilização
Para implementar qualquer um dos botões, copie e cole os códigos a seguir dentro do objeto estilos no topo do arquivo que estiver utilizando.
Botões Primários
Botões Secundários
Botões Terciários
Botões terciários não possuem bordas, no entanto, possuem variação de tamanho também. Para escolher o tamanho certo é só levar em consideração o tamanho do texto no botão.
Botões terciários são os únicos com texto diferente, os códigos para estilização de texto em botões primários e secundários é igual, mas do terciário não.
Botões de Erro
Por que não <button>?
Porque a tag de botões provida pelo React Native tem uma estilização própria, muito específica para ser sobrescrita.
Além disso, <TouchableOpacity> o comportamento de opacidade ao clicar que vai nos poupar de ter que aplicar "hover" e "click" nos botões - o que o wrapper de Tailwind para React Native não suporta ainda e teria que ser feito com código externo.
Last updated
Was this helpful?