RepeatedLayout

Sao chép định kỳ một mẫu trong cửa sổ cắt xén, phù hợp với thang đo và la bàn di chuyển liên tục. period đặt khoảng thời gian lặp lại, value và anchor xác định vị trí căn chỉnh giá trị hiện tại.

Ví dụ

function main() {
  return (
    <RepeatedLayout axis="horizontal" period={120} value={76} anchor={0.5}>
      <Text width={120}>N</Text>
    </RepeatedLayout>
  );
}

Cách sử dụng

  • children là một mẫu, period là chu kỳ. value khớp anchor; tăng value làm mẫu đi ngược, cộng offset theo điểm. both lặp hai trục, tách bằng {x,y}. Nội dung luôn cắt trong cửa sổ.
  • x/y và transform áp dụng sau bố cục. Dời con không đẩy các con khác; dùng spacing hoặc Spacer. Xoay và tỷ lệ tác động lên toàn bộ hình đã vẽ.

Thuộc tính

children?ViewContent

Nội dung vẽ con.

axis?"horizontal" | "vertical" | "both"

Lặp horizontal, vertical hoặc both; both tạo lưới bản sao.

Ví dụ"horizontal"

Khoảng cách bản sao theo điểm; x/y đặt riêng từng trục.

Ví dụ360

Tọa độ nội dung đặt tại anchor. Tăng giá trị làm bản sao dịch ngược; không phải tốc độ.

Ví dụ$data.current.heading?.direction ?? 0

Vị trí trong vùng nhìn: 0 đầu, 0.5 giữa, 1 cuối.

Ví dụ0.5

Độ lệch thêm theo điểm sau khi căn value vào anchor.

Ví dụ0
alignment?"topLeading" | "top" | "topTrailing" | "leading" | "center" | "trailing" | "bottomLeading" | "bottom" | "bottomTrailing"

Căn các View con chồng nhau tại chín vị trí cạnh và giữa.

Ví dụ"topLeading"
Thuộc tính chung
width?number | "auto" | "fill"

Chiều rộng tính bằng point, tự động hoặc lấp đầy khung cha.

Ví dụ100
height?number | "auto" | "fill"

Chiều cao tính bằng point, tự động hoặc lấp đầy khung cha.

Ví dụ80
padding?number

Khoảng đệm nội dung tính bằng point.

Ví dụ0
x?number

Dịch chuyển hiển thị theo điểm: x sang phải, y xuống dưới; không đổi chỗ trong bố cục.

Ví dụ0
y?number

Dịch chuyển hiển thị theo điểm: x sang phải, y xuống dưới; không đổi chỗ trong bố cục.

Ví dụ0
transform?ViewTransform

Biến đổi toàn View không đổi bố cục. Dịch chuyển theo điểm, xoay/nghiêng theo độ, tỷ lệ 1 giữ nguyên, điểm neo 0–1.

Ví dụ{rotation: 0}
background?Paint

Màu hoặc chuyển màu nền; clear là trong suốt.

Ví dụ"clear"
opacity?number

Độ đục toàn bộ View: 0 trong suốt, 1 đục hoàn toàn.

Ví dụ1
cornerRadius?number

Bán kính bo góc theo điểm.

Ví dụ0
clip?"rectangle" | "ellipse"

Hình cắt rectangle hoặc ellipse; Material còn nhận false để tắt.

Ví dụ"rectangle"
mask?View | null

View mặt nạ alpha. Căn giữa mà không ảnh hưởng bố cục; null tắt mặt nạ.

Ví dụ<Circle width="fill" height="fill" background="white"/>
zIndex?number

Thứ tự vẽ giữa các phần tử cùng cấp; giá trị lớn nằm trước.

Ví dụ0
blur?number

Bán kính làm mờ theo điểm; 0 là tắt.

Ví dụ4
innerShadow?DrawingEffect

Màu, độ đục, bán kính mờ và độ lệch x/y của hiệu ứng; khoảng cách theo điểm.

Ví dụ{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}

Màu, độ đục, bán kính mờ và độ lệch x/y của hiệu ứng; khoảng cách theo điểm.

Ví dụ{color: HDR("cyan"), radius: 8, opacity: 0.8}
shadowColor?Color

Màu bóng đổ bên ngoài.

Ví dụHDR("black")
shadowOpacity?number

Độ đục bóng 0–1; 0 ẩn bóng.

Ví dụ0
shadowRadius?number

Bán kính làm mờ bóng ngoài theo điểm.

Ví dụ4
shadowX?number

Độ lệch bóng theo điểm: x sang phải, y xuống.

Ví dụ0
shadowY?number

Độ lệch bóng theo điểm: x sang phải, y xuống.

Ví dụ2
animations?Animation[]

Hoạt ảnh khi thuộc tính đổi. duration/delay theo giây; from/to là đầu cuối; repeat/autoreverse điều khiển lặp, wrap là chu kỳ.

Ví dụ[{property: "opacity", duration: 0.25, curve: "easeInOut"}]
key?string | number

Định danh ổn định giữa các phần tử cùng cấp.

Ví dụ kết hợp

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>
  );
}

Hoạt ảnh

Hoạt ảnh

widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYperiodvalueanchoroffsettransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYperiod.xperiod.yvalue.xvalue.yanchor.xanchor.yoffset.xoffset.y

Khi bỏ qua

Bảng ghi hành vi bỏ qua đã kiểm tra từ triển khai; ví dụ không phải mặc định. Muốn kết quả cố định hãy truyền giá trị rõ, kích thước và màu theo ngữ cảnh không phải hằng số.

Thuộc tínhKhi bỏ qua
axis"horizontal"
period360
value0
anchor0.5
offset0
alignment"topLeading"