Material

Vẽ bề mặt của vật liệu kính mờ, có thể chồng lên văn bản và đồ họa để tạo thành vùng nội dung. type hiện hỗ trợ làm mờ, style kiểm soát độ dày vật liệu; hiệu ứng có thể nhìn thấy phụ thuộc vào nội dung đằng sau nó.

Ví dụ

function main() {
  return (
    <ZStack>
      <Material type="frosted" style="thin" />
      <Text>CapDrive</Text>
    </ZStack>
  );
}

Cách sử dụng

  • Material là bề mặt không children hoặc padding. Chồng chữ bằng ZStack; kính phụ thuộc nội dung phía sau. type hiện là frosted, style chọn độ dày, không nhận họa tiết ảnh.
  • mask dùng alpha: đục hiển thị, trong suốt ẩn. Đen trắng cùng alpha giống nhau. Không ảnh hưởng bố cục; đặt kích thước và phân biệt với clipped.

Thuộc tính

type"frosted"

Loại vật liệu; hiện frosted vẽ kính mờ gốc hệ thống.

Ví dụ"frosted"
style?"ultraThin" | "thin" | "regular" | "thick" | "ultraThick" | "bar"

Vật liệu từ ultraThin đến ultraThick; bar dùng vật liệu thanh hệ thống.

Ví dụ"ultraThin"
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
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
clipped?boolean

Cắt phần vẽ vượt ra ngoài View.

Ví dụfalse
clip?boolean | "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 (
    <ZStack width={200} height={100}>
      <HStack spacing={0} width="fill" height="fill">
        <Rectangle width="fill" height="fill" background="blue" />
        <Rectangle width="fill" height="fill" background="orange" />
      </HStack>
      <Material
        width={160}
        height={64}
        type="frosted"
        style="thin"
        cornerRadius={16}
      />
      <Text fontSize={28}>78 km/h</Text>
    </ZStack>
  );
}

Hoạt ảnh

Hoạt ảnh

widthheightxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYtransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorY

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
type"frosted"
style"ultraThin"