Circle
Mevcut alan içerisinde dairesel ilerlemeye ve metre ölçeklerine uygun mükemmel bir daire veya yay çizer. Çap, genişlik ve merkezin daha küçük değerini alır. startAngle ve sweepAngle görüntü aralığını kontrol eder. Çemberin tamamı kapatıldığında arka plan doldurulabilir.
Örnek
function main() {
return (
<Circle
width={120}
height={120}
background="clear"
stroke={$env.accent}
lineWidth={8}
startAngle={-90}
sweepAngle={240}
strokePosition="inside"
/>
);
}
Kullanım
- Circle küçük kenarla ortalanmış daire çizer: 160×100 çap 100 verir. startAngle/sweepAngle çevreyi, transform bütün sonucu değiştirir.
- Açı derece: 0 sağ, 90 aşağı, pozitif sweep saat yönü. startAngle mod 360, sweepAngle −360…360 sınırlı. 0 çizmez, ±360 tam turdur. wrap:360 yalnız startAngle için.
- Ellipse ve Arc tüm genişlik/yüksekliği kullanır; eşitse dairedir. Kısmi yaylar merkeze bağlanmaz. background yalnız kapalı tam turda dolar.
Özellikler
startAngle?numberDerece cinsinden başlangıç açısı; örnekleme sırasında 360 modunda normalleştirilir.
0sweepAngle?numberDerece cinsinden tarama açısı; örnekleme sırasında -360…360 ile sınırlanır. Pozitif değer saat yönündedir; wrap desteklenmez.
360background?PaintTam kapalı daire veya elips dolgusu. Kısmi yaylarda yok sayılır.
HDR($env.dark ? "white" : "black")stroke?PaintÇizgi rengi veya gradyanı; clear gizler.
"clear"lineWidth?numberÇizgi kalınlığı, punto; 0 çizmez.
2strokePosition?"inside" | "center" | "outside"Tam daire veya elips konturuna göre çizgi konumu. Varsayılan inside.
"inside"lineCap?"round" | "butt" | "square"Çizgi ucu: butt keser, square kare uzatır, round yuvarlar.
"round"dash?number[]Çizgi ve boşluk uzunlukları sırayla, punto; boş dizi düz çizgidir.
[]dashPhase?numberKesik çizgi desen kayması, punto.
0Ortak özellikler
width?number | "auto" | "fill"Punto cinsinden genişlik, otomatik boyut veya üst alanı doldurma.
"fill"height?number | "auto" | "fill"Punto cinsinden yükseklik, otomatik boyut veya üst alanı doldurma.
"fill"x?numberGörsel kaydırma, punto: x sağa, y aşağı. Yerleşimde ayrılan alan değişmez.
0y?numberGörsel kaydırma, punto: x sağa, y aşağı. Yerleşimde ayrılan alan değişmez.
0transform?ViewTransformYerleşimi değiştirmeyen bütünsel dönüşüm. Kaydırma punto, dönüş/eğim derece, ölçek 1 değişmez, dayanak 0–1.
{rotation: 0}opacity?numberTüm View opaklığı: 0 saydam, 1 opak.
1clipped?booleanView sınırlarını aşan çizimi kırpar.
falseclip?"rectangle" | "ellipse"Kırpma şekli rectangle veya ellipse; Material için false kapatır.
"rectangle"mask?View | nullAlfa maskesi View öğesi. Düzeni etkilemeden ortalanır; null maskeyi devre dışı bırakır.
<Circle width="fill" height="fill" background="white"/>zIndex?numberKardeşler arasında çizim sırası; büyük değer öndedir.
0blur?numberBulanıklık yarıçapı, punto; 0 kapatır.
4innerShadow?DrawingEffectEfekt rengi, opaklığı, bulanıklık yarıçapı ve x/y kayması; uzaklıklar punto.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectEfekt rengi, opaklığı, bulanıklık yarıçapı ve x/y kayması; uzaklıklar punto.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?ColorDış gölge rengi.
HDR("black")shadowOpacity?numberGölge opaklığı 0–1; 0 gizler.
0shadowRadius?numberDış gölge bulanıklık yarıçapı, punto.
4shadowX?numberGölge kayması, punto: x sağa, y aşağı.
0shadowY?numberGölge kayması, punto: x sağa, y aşağı.
2animations?CircleAnimation[]Özellik değişimini canlandırır. duration/delay saniye; from/to uçlar; repeat/autoreverse tekrar, wrap dönem.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberKardeş öğeler arasında kararlı kimlik.
Pratik örnek
function main() {
return (
<ZStack width={140} height={140}>
<Circle
width="fill"
height="fill"
background="clear"
stroke="#88888833"
lineWidth={10}
/>
<Circle
width="fill"
height="fill"
background="clear"
stroke={$env.accent}
lineWidth={10}
startAngle={-90}
sweepAngle={270}
lineCap="round"
/>
<Text fontSize={36}>75%</Text>
</ZStack>
);
}
Animasyon
widthheightxyopacitybackgroundblurshadowColorshadowOpacityshadowRadiusshadowXshadowYdashPhasestrokelineWidthstartAnglesweepAngletransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYAtlandığında
Tablo uygulamada doğrulanmış atlama davranışıdır; örnekler varsayılan değildir. Sabit sonuç için açık değer kullanın; bağlama bağlı boyut ve tema renkleri sabit sayı değildir.
| Özellikler | Atlandığında |
|---|---|
startAngle | 0 |
sweepAngle | 360 |
lineWidth | 2 |
strokePosition | "inside" |
background | HDR($env.dark ? 'white' : 'black') |