No Glimmer do Jetpack Compose, um Button é um componente interativo otimizado para entrada de óculos de exibição, oferecendo feedback visual claro nos
estados para orientar as ações do usuário.
Os botões são criados no sistema de superfície do Glimmer do Jetpack Compose, que processa automaticamente propriedades físicas, como bordas e profundidade.
O botão padrão contém um rótulo de texto e ícones opcionais. Ele pode ser usado para ações principais ou secundárias. Também há botões especializados, como botões de ícone e botões de alternância, que são definidos como componentes separados no Glimmer do Jetpack Compose.
Padrão
Grande
Anatomia
Um botão consiste em um contêiner e um rótulo, com ícones opcionais à esquerda e à direita.
| Parte | Descrição |
|---|---|
Contêiner |
A superfície de plano de fundo do botão. |
Rótulo |
O texto que descreve a ação. |
Ícone (opcional) |
Indicadores visuais à esquerda ou à direita. |
Tamanhos
Os botões do Glimmer do Jetpack Compose oferecem suporte a duas variantes de tamanho. Elas afetam a altura mínima e o preenchimento interno.
| Tamanho | Altura mínima | Uso padrão |
|---|---|---|
Médio |
48.dp |
Ações e listas padrão (padrão). |
Grande |
72.dp |
Ações de alta ênfase ou pontos de entrada da tela principal. |
Estados
Os botões no Glimmer do Jetpack Compose mudam a aparência para comunicar o estado.
- Ativado: o estado padrão de um botão interativo.
- Em foco: quando em foco, o botão aplica um
GlimmerTheme.depthEffectLevels.level1e um destaque de borda. - Pressionado: quando ativada, uma sobreposição branca semitransparente é aplicada à superfície.
- Desativado: o botão não responde à entrada e a aparência visual é ajustada.
Padrões de botão
Os padrões a seguir se aplicam a botões padrão:
- Por padrão, os botões usam
GlimmerTheme.typography.bodySmall. Confira se o texto nos botões é conciso e descreve claramente a ação. - O formato padrão de um botão é
GlimmerTheme.shapes.large. Esse arredondamento consistente ajuda os usuários a identificar botões na interface dos óculos de exibição.
Exemplo: botão com texto
O código a seguir cria um botão padrão com texto:
@Composable fun ButtonSample() { Button(onClick = {}) { Text("Send") } }
Exemplo: botões com ícones à esquerda e à direita
Também é possível adicionar ícones ao início (usando leadingIcon) ou ao final (usando trailingIcon) do texto para fornecer contexto adicional.
O código a seguir cria um botão com um ícone à esquerda:
@Composable fun ButtonWithLeadingIconSample() { Button(onClick = {}, leadingIcon = { Icon(FavoriteIcon, "Localized description") }) { Text("Send") } }