Cards no Jetpack Compose Glimmer

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Óculos de exibição

No Glimmer do Jetpack Compose, o Card componente serve como o contêiner principal para conteúdo relacionado, criando um limite visual claro para unidades de informação digeríveis. Os cards são altamente adaptáveis, oferecendo suporte a combinações de conteúdo principal, títulos opcionais, subtítulos e ícones principais ou finais. Os cards preenchem a largura máxima disponível por padrão, podem ser focados e também podem ser clicáveis. Os cards oferecem suporte a um arranjo vertical em que a imagem do cabeçalho fica na parte de cima, seguida pelo título, subtítulo e conteúdo do corpo.

Os cards são criados no sistema de superfície do Glimmer do Jetpack Compose surface system, então eles herdam propriedades físicas, como efeitos de profundidade, recorte e destaques de borda consistentes.

Figura 1. Um exemplo de alguns estilos diferentes de cards no Glimmer do Jetpack Compose.

Anatomia e slots

Um card do Glimmer do Jetpack Compose é criado com vários elementos especializados que permitem personalizar o conteúdo e o layout.

Slot Descrição

Cabeçalho

A seção superior do card, projetada para conter uma imagem.

Título e subtítulo

Esses campos de texto fornecem os rótulos principal e secundário do card. O título é colocado acima do subtítulo.

Ícone principal

Um ícone opcional (normalmente um Icon) que aparece no início da área de conteúdo do card.

Ícone final

Um ícone opcional que aparece no final da área de conteúdo do card.

Ação

Um slot para um elemento interativo principal, como um Button.

Conteúdo principal

O corpo principal do card para Text ou conteúdo principal.

Padrões de card

Os seguintes padrões se aplicam aos cards:

Exemplo: card básico

O código a seguir cria um card básico:

@Composable
fun CardSample() {
    Card { Text("This is a card") }
}

Exemplo: card complexo com vários slots

O código a seguir mostra como usar vários slots juntos para criar um card.

@Composable
fun CardWithTitleAndLeadingIconAndHeaderAndAction() {
    Card(
        action = {
            Button(onClick = {}, trailingIcon = { Icon(FavoriteIcon, "Localized description") }) {
                Text("Send")
            }
        },
        title = { Text("Title") },
        leadingIcon = { Icon(FavoriteIcon, "Localized description") },
        header = {
            Image(MyHeaderImage, "Localized description", contentScale = ContentScale.FillWidth)
        },
    ) {
        Text("This is a card with a title, leading icon, header image, and action")
    }
}

Pontos principais sobre o código

  • Mostra como usar vários elementos de card, como header, title, leadingIcon e action, para personalizar o conteúdo e a estrutura do card.
  • Usa a sobrecarga Card padrão com uma ação porque apenas o card (ou a ação interna dele) precisa ser focalizável. Se você precisar tornar a superfície inteira do card interativa, use a sobrecarga Card com onClick em vez disso.
  • Esse card usa um slot de ação, então a superfície do card não é focalizável, e o foco é direcionado ao botão de ação.