CardContent
Fournit une structure d'instrument avec un titre, un contenu droit et un corps de texte. Le texte renderer obtiendra contentSize moins le titre et les marges, qui peuvent être utilisés pour organiser des figures, des graphiques ou des diagrammes.
Exemple
function main() {
return (
<CardContent
title="Speed"
trailing="GPS"
renderer={(metrics) => (
<Text width={metrics.contentSize.width} fontSize={48}>
78
</Text>
)}
/>
);
}
Utilisation
- renderer reçoit metrics après mesure de l’en-tête. Utilisez contentSize plutôt qu’une hauteur supposée. inset réserve en-tête et marges ; full utilise toute la carte, y compris derrière l’en-tête.
- Les dimensions numériques sont en points. auto mesure le contenu, fill utilise l’espace alloué par le parent. Dimensionnez d’abord le conteneur ; fill et un long texte n’agrandissent pas un parent fixe.
Propriétés
title?string | View | nullTexte d’en-tête ou View.
""renderer?(metrics: CardContentMetrics) => ViewContentCrée le contenu à partir des dimensions mesurées de l’en-tête.
metrics => <Group/>children?ViewContentContenu de dessin enfant.
trailing?string | View | nullTexte ou View à la fin de l’en-tête.
""contentMode?"inset" | "full"inset place le contenu sous l’en-tête avec marge ; full utilise toute la carte.
"inset"headerBackground?View | nullView derrière l’en-tête ; null le retire. Il ne participe pas au contenu principal.
<Material type="frosted"/>Propriétés communes
width?number | "auto" | "fill"Largeur en points, taille automatique ou remplissage du parent.
100height?number | "auto" | "fill"Hauteur en points, taille automatique ou remplissage du parent.
80padding?numberMarge intérieure du contenu en points.
0x?numberDécalage visuel en points : x vers la droite, y vers le bas, sans modifier l’espace de mise en page.
0y?numberDécalage visuel en points : x vers la droite, y vers le bas, sans modifier l’espace de mise en page.
0transform?ViewTransformTransformation globale sans changer la mise en page. Translation en points, rotation/inclinaison en degrés, échelle 1 inchangée, ancrages 0–1.
{rotation: 0}background?PaintFond de couleur ou dégradé ; clear le rend transparent.
"clear"opacity?numberOpacité globale du View : 0 transparent, 1 opaque.
1cornerRadius?numberRayon des coins en points.
0clipped?booleanDécoupe les dessins dépassant les limites du View.
falseclip?"rectangle" | "ellipse"Forme de découpe rectangle ou ellipse ; Material accepte aussi false pour la désactiver.
"rectangle"mask?View | nullView de masque alpha. Centrée sans modifier la disposition ; null désactive le masque.
<Circle width="fill" height="fill" background="white"/>zIndex?numberOrdre entre éléments frères ; les valeurs élevées sont devant.
0blur?numberRayon du flou en points ; 0 le désactive.
4innerShadow?DrawingEffectCouleur, opacité, rayon du flou et décalage x/y de l’effet ; distances en points.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectCouleur, opacité, rayon du flou et décalage x/y de l’effet ; distances en points.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?ColorCouleur de l’ombre extérieure.
HDR("black")shadowOpacity?numberOpacité de l’ombre de 0 à 1 ; 0 la masque.
0shadowRadius?numberRayon du flou de l’ombre extérieure, en points.
4shadowX?numberDécalage de l’ombre en points : x à droite, y en bas.
0shadowY?numberDécalage de l’ombre en points : x à droite, y en bas.
2animations?Animation[]Anime les changements de propriété. duration/delay en secondes ; from/to définissent les extrémités ; repeat/autoreverse la répétition, wrap la période.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberIdentifiant stable parmi les éléments frères.
Exemple pratique
function main() {
return (
<CardContent
title="Speed"
trailing={<Symbol name="location.fill" />}
contentMode="inset"
renderer={(metrics) => (
<VStack
width={metrics.contentSize.width}
height={metrics.contentSize.height}
spacing={4}
>
<Text fontSize={Math.min(64, metrics.contentSize.height * 0.55)}>
78
</Text>
<Text fontSize={14}>km/h</Text>
</VStack>
)}
/>
);
}
Animation
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYtransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYEn cas d’omission
Le tableau décrit les omissions vérifiées dans l’implémentation. Les exemples de propriétés ne sont pas des valeurs par défaut. Pour un résultat fixe, passez une valeur explicite ; tailles et couleurs contextuelles ne sont pas constantes.
| Propriétés | En cas d’omission |
|---|---|
contentMode | "inset" |