Dans Jetpack Compose Glimmer, le composant Card sert de conteneur principal pour le contenu associé, créant une limite visuelle claire pour les unités d'informations digestes. Les fiches sont très adaptables et peuvent combiner du contenu principal, des titres et sous-titres facultatifs, ainsi que des icônes de début ou de fin. Par défaut, les fiches occupent toute la largeur disponible, sont sélectionnables et peuvent également être cliquables. Les cartes sont compatibles avec une disposition verticale où l'image d'en-tête se trouve en haut, suivie du titre, du sous-titre et du contenu du corps.
Les cartes sont basées sur le système de surface Jetpack Compose Glimmer. Elles héritent donc de propriétés physiques telles que les effets de profondeur, le clipping et les bordures cohérentes.
Anatomie et emplacements
Une fiche Jetpack Compose Glimmer est constituée de plusieurs éléments spécialisés qui vous permettent de personnaliser son contenu et sa mise en page.
| Encoche | Description |
|---|---|
En-tête |
Section supérieure de la carte, conçue pour contenir une image. |
Titre et sous-titre |
Ces champs de texte fournissent les libellés principal et secondaire de la carte. Le titre est placé au-dessus du sous-titre. |
Icône de début |
Icône facultative (généralement |
Icône de fin |
Icône facultative qui s'affiche à la fin de la zone de contenu de la fiche. |
Action |
Emplacement pour un élément interactif principal, tel qu'un |
Contenu principal |
Corps principal de la fiche pour le contenu ou |
Valeurs par défaut des cartes
Les valeurs par défaut suivantes s'appliquent aux cartes :
- Largeur : les cartes occupent la largeur maximale disponible de l'écran pour optimiser la lisibilité sur les lunettes.
- Hauteur minimale :
80.dp - Espacement vertical du texte :
3.dp - Forme de l'en-tête : utilise
RoundedCornerShapeavec des angles24.dp - Marge intérieure du contenu : la valeur par défaut est
GlimmerTheme.componentSpacingValues.medium. Cela affecte la marge intérieure la plus externe autour des images d'en-tête et du conteneur de contenu. - Forme : la valeur par défaut est
GlimmerTheme.shapes.medium. Rendu du texte : utilise les valeurs par défaut de
GlimmerTheme.typographypour les emplacements suivants :- Titre :
bodyMedium - Sous-titre :
caption - Contenu principal :
bodySmall
- Titre :
Exemple : Carte de base
Le code suivant crée une fiche de base :
@Composable fun CardSample() { Card { Text("This is a card") } }
Exemple : Carte complexe avec plusieurs emplacements
Le code suivant montre comment utiliser plusieurs emplacements ensemble pour créer une carte.
@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") } }
Points clés concernant le code
- Montre comment utiliser différents éléments de carte, tels que
header,title,leadingIconetaction, pour personnaliser le contenu et la structure de la carte. - Utilise la surcharge
Cardstandard avec une action, car seule la carte (ou son action interne) doit être focusable. Si vous devez rendre toute la surface de la fiche interactive, utilisez plutôt la surchargeCardaveconClick. - Cette carte utilise un emplacement d'action. La surface de la carte n'est donc pas sélectionnable et la sélection est dirigée vers le bouton d'action.