RepeatedLayout
Menduplikasi pola secara berkala di jendela pemangkasan, cocok untuk timbangan dan kompas yang terus bergerak. period mengatur interval pengulangan, value dan anchor menentukan di mana nilai saat ini disejajarkan.
Contoh
function main() {
return (
<RepeatedLayout axis="horizontal" period={120} value={76} anchor={0.5}>
<Text width={120}>N</Text>
</RepeatedLayout>
);
}
Penggunaan
- children adalah satu pola, period jarak ulang. value sejajar anchor; kenaikannya memindahkan pola berlawanan, ditambah offset dalam poin. both mengulang dua sumbu, dipisahkan lewat {x,y}. Bingkai selalu memotong.
- x/y dan transform diterapkan setelah layout. Memindah anak tidak mendorong saudara; gunakan spacing atau Spacer. Rotasi dan skala memengaruhi seluruh gambar.
Properti
children?ViewContentKonten gambar anak.
axis?"horizontal" | "vertical" | "both"Ulangi horizontal, vertical atau both; both membentuk kisi.
"horizontal"period?RepeatAxisValueJarak salinan dalam poin; x/y mengatur setiap sumbu terpisah.
360value?RepeatAxisValueKoordinat isi yang ditempatkan pada anchor. Nilai membesar menggeser salinan berlawanan; bukan kecepatan.
$data.current.heading?.direction ?? 0anchor?RepeatAxisValuePosisi area terlihat: 0 awal, 0.5 tengah, 1 akhir.
0.5offset?RepeatAxisValueOffset tambahan dalam poin setelah value disejajarkan dengan anchor.
0alignment?"topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"Perataan anak bertumpuk pada sembilan posisi tepi dan tengah.
"topLeading"Properti umum
width?number | "auto" | "fill"Lebar dalam poin, ukuran otomatis, atau memenuhi induk.
100height?number | "auto" | "fill"Tinggi dalam poin, ukuran otomatis, atau memenuhi induk.
80padding?numberPadding konten dalam poin.
0x?numberOffset visual dalam poin: x ke kanan, y ke bawah; ruang tata letak tidak berubah.
0y?numberOffset visual dalam poin: x ke kanan, y ke bawah; ruang tata letak tidak berubah.
0transform?ViewTransformTransformasi seluruh View tanpa mengubah tata letak. Translasi dalam poin, rotasi/kemiringan dalam derajat, skala 1 tetap, jangkar 0–1.
{rotation: 0}background?PaintWarna atau gradasi latar; clear berarti transparan.
"clear"opacity?numberOpasitas seluruh View: 0 transparan, 1 buram.
1cornerRadius?numberRadius sudut dalam poin.
0clip?"rectangle" | "ellipse"Bentuk potongan rectangle atau ellipse; Material juga menerima false untuk mematikan.
"rectangle"mask?View | nullView masker alfa. Di tengah tanpa memengaruhi tata letak; null menonaktifkan masker.
<Circle width="fill" height="fill" background="white"/>zIndex?numberUrutan gambar antar saudara; nilai lebih besar di depan.
0blur?numberRadius buram dalam poin; 0 menonaktifkan.
4innerShadow?DrawingEffectWarna, opasitas, radius buram dan offset x/y efek; jarak dalam poin.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectWarna, opasitas, radius buram dan offset x/y efek; jarak dalam poin.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?ColorWarna bayangan luar.
HDR("black")shadowOpacity?numberOpasitas bayangan 0–1; 0 menyembunyikannya.
0shadowRadius?numberRadius buram bayangan luar dalam poin.
4shadowX?numberOffset bayangan dalam poin: x ke kanan, y ke bawah.
0shadowY?numberOffset bayangan dalam poin: x ke kanan, y ke bawah.
2animations?Animation[]Animasi perubahan properti. duration/delay dalam detik; from/to adalah ujung; repeat/autoreverse untuk pengulangan, wrap untuk periode.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberIdentitas stabil di antara elemen sejajar.
Contoh praktis
function main() {
return (
<RepeatedLayout
width={240}
height={140}
axis="both"
period={{ x: 80, y: 50 }}
value={{ x: 40, y: 25 }}
anchor={{ x: 0.5, y: 0.5 }}
alignment="center"
>
<Symbol name="plus" fontSize={20} color={$env.accent} />
</RepeatedLayout>
);
}
Animasi
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYperiodvalueanchoroffsettransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYperiod.xperiod.yvalue.xvalue.yanchor.xanchor.yoffset.xoffset.yJika dihilangkan
Tabel menunjukkan perilaku penghilangan yang diverifikasi dari implementasi; contoh bukan default. Untuk hasil tetap beri nilai eksplisit; ukuran dan warna kontekstual bukan konstanta.