Rectangle
Zeichnet ein Rechteck mit optional abgerundeten Ecken zur Verwendung mit Hintergründen, Fortschrittsbalken und Rahmen. background füllt den Innenraum, stroke Striche, lineWidth und strokePosition steuern die Breite und Position des Strichs.
Beispiel
function main() {
return (
<Rectangle
width={160}
height={80}
cornerRadius={16}
background={LinearGradient(['#A9E56F', '#30B3A2'])}
stroke={$env.foreground}
lineWidth={2}
strokePosition="inside"
/>
);
}
Verwendung
- background füllt innen, stroke zeichnet die Kontur. cornerRadius ist höchstens die halbe kurze Seite. inside liegt innen, center auf der Grenze, outside außen; Eltern-Clipping kann äußere Linien abschneiden.
- mask verwendet Alpha: deckende Bereiche bleiben sichtbar, transparente verschwinden. Schwarz und Weiß mit gleichem Alpha wirken gleich. Masken beeinflussen das Layout nicht; Maße explizit setzen und von clipped unterscheiden.
- background/stroke akzeptieren Color oder Gradient. Drei Gradient-Funktionen erzeugen Verläufe. Stopps und Mittelpunkt nutzen 0–1, radiale Radien Punkte. HDR umschließt eine Farbe; Helligkeit hängt von Gerät und Anzeige ab.
Eigenschaften
background?PaintHintergrundfarbe oder Verlauf; clear ist transparent.
HDR($env.dark ? "white" : "black")cornerRadius?numberEckenradius in Punkten.
0stroke?PaintLinienfarbe oder Verlauf; clear blendet die Linie aus.
"clear"lineWidth?numberLinienstärke in Punkten; 0 zeichnet keine Linie.
2strokePosition?"inside" | "center" | "outside"Linienposition relativ zur Kontur: inside, center oder outside.
"inside"lineCap?"round" | "butt" | "square"Linienende: butt endet am Punkt, square verlängert eckig, round rundet.
"round"lineJoin?"round" | "miter" | "bevel"Form von Linienverbindungen: miter, round oder bevel.
"round"dash?number[]Abwechselnde Strich- und Lückenlängen in Punkten; leeres Array bedeutet durchgezogen.
[]dashPhase?numberVersatz des Strichmusters in Punkten.
0trimStart?numberSichtbarer Pfadabschnitt trimStart bis trimEnd in 0–1. Circle/Ellipse/Arc nutzen Winkel.
0trimEnd?numberSichtbarer Pfadabschnitt trimStart bis trimEnd in 0–1. Circle/Ellipse/Arc nutzen Winkel.
1Allgemeine Eigenschaften
width?number | "auto" | "fill"Breite in Punkten, automatische Größe oder Ausfüllen des übergeordneten Bereichs.
"fill"height?number | "auto" | "fill"Höhe in Punkten, automatische Größe oder Ausfüllen des übergeordneten Bereichs.
"fill"x?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}opacity?numberDeckkraft des gesamten Views: 0 transparent, 1 undurchsichtig.
1clipped?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 (
<HStack spacing={20}>
<Rectangle
width={90}
height={60}
background="clear"
stroke={$env.accent}
lineWidth={8}
strokePosition="inside"
/>
<Rectangle
width={90}
height={60}
background="clear"
stroke={$env.accent}
lineWidth={8}
strokePosition="outside"
/>
</HStack>
);
}
Animation
widthheightxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYtrimStarttrimEnddashPhasestrokelineWidthtransform.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 |
|---|---|
cornerRadius | 0 |
lineWidth | 2 |
strokePosition | "inside" |
trimStart | 0 |
trimEnd | 1 |
background | HDR($env.dark ? 'white' : 'black') |