RadialLayout
Ölçekleri, sayıları veya sembolleri bir dairenin etrafına dağıtın. radius, merkezden View yerleşim merkezine olan mesafeyi kontrol eder ve startAngle ve sweepAngle dağıtım aralığını kontrol eder.
Örnek
function main() {
return (
<RadialLayout
radius={70}
startAngle={-90}
sweepAngle={270}
includeEnd={true}
>
{[0, 60, 120, 180].map((value) => (
<Text key={value}>{value}</Text>
))}
</RadialLayout>
);
}
Kullanım
- Yarıçap çocuk merkezlerini yerleştirir, dış sınırı değil. includeEnd=false n, true n−1 parçaya böler. Tam turda uçlar çakışır. childRotation yönelimi ayarlar.
- 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.
- Güncelleme ve animasyon kimliğini korumak için key olarak sabit veri kimlikleri kullanın. Sırası değişen dizilerde indeks kalıcı kimlik değildir.
Özellikler
children?ViewContentAlt çizim içeriği.
radius?numberYarıçap, punto: radius iki eksen, radiusX/radiusY ayrı eksenler. Negatif değerler 0 olur.
80radiusX?numberYarıçap, punto: radius iki eksen, radiusX/radiusY ayrı eksenler. Negatif değerler 0 olur.
80radiusY?numberYarıçap, punto: radius iki eksen, radiusX/radiusY ayrı eksenler. Negatif değerler 0 olur.
80startAngle?numberDerece cinsinden başlangıç açısı; örnekleme sırasında 360 modunda normalleştirilir.
-90sweepAngle?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.
360includeEnd?booleanDağılıma bitiş açısını dahil eder. Tam çemberde false uçların çakışmasını önler.
falsechildRotation?"none" | "radial" | "tangent"none yönü korur, radial yarıçapı izler, tangent 90 derece ekler.
"none"Ortak özellikler
width?number | "auto" | "fill"Punto cinsinden genişlik, otomatik boyut veya üst alanı doldurma.
100height?number | "auto" | "fill"Punto cinsinden yükseklik, otomatik boyut veya üst alanı doldurma.
80padding?numberPunto cinsinden içerik iç boşluğu.
0x?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}background?PaintArka plan rengi veya gradyanı; clear saydamdır.
"clear"opacity?numberTüm View opaklığı: 0 saydam, 1 opak.
1cornerRadius?numberKöşe yarıçapı, punto.
0clipped?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?RadialLayoutAnimation[]Ö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 (
<RadialLayout
width={200}
height={200}
radius={76}
startAngle={-135}
sweepAngle={270}
includeEnd={true}
>
{[0, 50, 100, 150, 200].map((value) => (
<Text key={value} fontSize={14}>
{value}
</Text>
))}
</RadialLayout>
);
}
Animasyon
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYradiusradiusXradiusYstartAnglesweepAngletransform.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 |
|---|---|
radius | 80 |
startAngle | -90 |
sweepAngle | 360 |
includeEnd | false |
childRotation | "none" |