ZStack
Stapeln Sie mehrere View im gleichen Bereich, geeignet für Hintergrund-, Skalen- und Mittenablesungen. Die untergeordneten Elemente View werden nacheinander gezeichnet und alignment legt ihre gemeinsame Ausrichtungsposition innerhalb des Containers fest.
Beispiel
function main() {
return (
<ZStack alignment="center">
<Circle width={100} height={100} background={$env.accent} />
<Text color="black">78</Text>
</ZStack>
);
}
Verwendung
- Kinder werden nacheinander von hinten nach vorn gezeichnet; zIndex ändert die Reihenfolge. alignment benutzt denselben Containeranker. Bei gleich großen Kindern und Containern ist der Unterschied kaum sichtbar.
- Maße sind Punkte. auto misst Inhalt, fill nutzt den zugeteilten Elternraum. Zuerst den Container bemessen; fill und langer Text vergrößern keinen festen Elternrahmen.
- x/y und transform folgen der Platzberechnung. Verschieben verdrängt keine Geschwister; Abstände ändern spacing oder Spacer. Rotation und Skalierung betreffen die fertige Zeichnung.
Eigenschaften
children?ViewContentUntergeordneter Zeicheninhalt.
alignment?"topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"Überlagerte Kinder an einer von neun Rand-/Mittelpositionen ausrichten.
"center"Allgemeine Eigenschaften
width?number | "auto" | "fill"Breite in Punkten, automatische Größe oder Ausfüllen des übergeordneten Bereichs.
100height?number | "auto" | "fill"Höhe in Punkten, automatische Größe oder Ausfüllen des übergeordneten Bereichs.
80padding?numberInnenabstand des Inhalts in Punkten.
0x?numberVisueller Versatz in Punkten: x nach rechts, y nach unten; der Layoutplatz bleibt gleich.
0y?numberVisueller Versatz in Punkten: x nach rechts, y nach unten; der Layoutplatz bleibt gleich.
0transform?ViewTransformGesamten View ohne Layoutänderung transformieren. Verschiebung in Punkten, Drehung/Neigung in Grad, Skalierung 1 unverändert, Anker 0–1.
{rotation: 0}background?PaintHintergrundfarbe oder Verlauf; clear ist transparent.
"clear"opacity?numberDeckkraft des gesamten Views: 0 transparent, 1 undurchsichtig.
1cornerRadius?numberEckenradius in Punkten.
0clipped?booleanZeichnung außerhalb der View-Grenzen abschneiden.
falseclip?"rectangle" | "ellipse"Schnittform rectangle oder ellipse; Material erlaubt auch false zum Abschalten.
"rectangle"mask?View | nullView als Alphamaske. Zentriert ohne Einfluss auf das Layout; null deaktiviert die Maske.
<Circle width="fill" height="fill" background="white"/>zIndex?numberZeichenreihenfolge unter Geschwistern; größere Werte liegen vorne.
0blur?numberUnschärferadius in Punkten; 0 deaktiviert die Unschärfe.
4innerShadow?DrawingEffectEffektfarbe, Deckkraft, Unschärferadius und x/y-Versatz; Entfernungen in Punkten.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectEffektfarbe, Deckkraft, Unschärferadius und x/y-Versatz; Entfernungen in Punkten.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?ColorFarbe des äußeren Schattens.
HDR("black")shadowOpacity?numberSchattendeckkraft 0–1; 0 blendet ihn aus.
0shadowRadius?numberUnschärferadius des äußeren Schattens in Punkten.
4shadowX?numberSchattenversatz in Punkten: x rechts, y unten.
0shadowY?numberSchattenversatz in Punkten: x rechts, y unten.
2animations?Animation[]Attributänderung animieren. duration/delay in Sekunden; from/to sind Endwerte; repeat/autoreverse steuern Wiederholung, wrap die Periode.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberStabile Kennung unter Geschwisterelementen.
Praxisbeispiel
function main() {
return (
<ZStack width={180} height={100} alignment="bottomTrailing">
<Rectangle
width="fill"
height="fill"
background="#30B3A233"
cornerRadius={12}
/>
<Text fontSize={40} x={-12} y={-8}>
78
</Text>
</ZStack>
);
}
Animation
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYtransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYBeim Weglassen
Die Tabelle zeigt implementierte Vorgaben beim Weglassen. Eigenschaftsbeispiele sind keine Standardwerte. Für feste Ergebnisse explizite Werte setzen; kontextabhängige Maße und Themenfarben sind keine Konstanten.
| Eigenschaften | Beim Weglassen |
|---|---|
alignment | "center" |