Material
ارسم سطح مادة الزجاج المصنفر، والتي يمكن أن تتداخل مع النص والرسومات لتكوين منطقة محتوى. type يدعم حاليا التجميد، style يتحكم في سمك المادة؛ يعتمد التأثير المرئي على المحتوى الذي يقف خلفه.
مثال
function main() {
return (
<ZStack>
<Material type="frosted" style="thin" />
<Text>CapDrive</Text>
</ZStack>
);
}
الاستخدام
- Material سطح بلا children أو padding. ضع النص فوقه بـ ZStack؛ الزجاج يعتمد على ما خلفه. type يدعم frosted حاليًا وstyle للسماكة، لا لصور خامة.
- mask يستخدم ألفا: المعتم يُظهر والشفاف يُخفي. الأسود والأبيض بألفا متساوية متماثلان. لا يغير التخطيط؛ حدّد أبعاده وميّزه عن clipped.
الخصائص
type"frosted"نوع المادة؛ frosted هو الزجاج المصنفر الأصلي المدعوم حالياً.
"frosted"style?"ultraThin" | "thin" | "regular" | "thick" | "ultraThick" | "bar"مظهر المادة من ultraThin إلى ultraThick؛ bar لمادة شريط النظام.
"ultraThin"الخصائص المشتركة
width?number | "auto" | "fill"العرض بالنقاط أو الحجم التلقائي أو ملء العنصر الأب.
100height?number | "auto" | "fill"الارتفاع بالنقاط أو الحجم التلقائي أو ملء العنصر الأب.
80x?numberإزاحة بصرية بالنقاط: x يميناً وy لأسفل، دون تغيير المساحة في التخطيط.
0y?numberإزاحة بصرية بالنقاط: x يميناً وy لأسفل، دون تغيير المساحة في التخطيط.
0transform?ViewTransformتحويل View كله دون تغيير التخطيط. الإزاحة بالنقاط، الدوران والميل بالدرجات، المقياس 1 بلا تغيير، والمرساة 0–1.
{rotation: 0}background?Paintلون أو تدرج للخلفية؛ clear يجعلها شفافة.
"clear"opacity?numberعتامة View بالكامل: 0 شفاف و1 معتم.
1cornerRadius?numberنصف قطر الزوايا بالنقاط.
0clipped?booleanقص الرسم الذي يتجاوز حدود View.
falseclip?boolean | "rectangle" | "ellipse"شكل القص rectangle أو ellipse؛ يقبل Material أيضاً false لتعطيله.
"rectangle"mask?View | nullعرض قناع ألفا. يتم توسيطه دون التأثير على التخطيط؛ تعطل null القناع.
<Circle width="fill" height="fill" background="white"/>zIndex?numberترتيب الرسم بين العناصر الشقيقة؛ القيم الأكبر في الأمام.
0blur?numberنصف قطر التمويه بالنقاط؛ 0 يعطّله.
4innerShadow?DrawingEffectلون التأثير وعتامته ونصف قطر تمويهه وإزاحة x/y؛ المسافات بالنقاط.
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffectلون التأثير وعتامته ونصف قطر تمويهه وإزاحة x/y؛ المسافات بالنقاط.
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?Colorلون الظل الخارجي.
HDR("black")shadowOpacity?numberعتامة الظل من 0 إلى 1؛ 0 يخفيه.
0shadowRadius?numberنصف قطر تمويه الظل الخارجي بالنقاط.
4shadowX?numberإزاحة الظل بالنقاط: x يميناً وy لأسفل.
0shadowY?numberإزاحة الظل بالنقاط: x يميناً وy لأسفل.
2animations?Animation[]تحريك تغير الخاصية. duration/delay بالثواني، from/to للنهايات، repeat/autoreverse للتكرار وwrap للدورة.
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | numberمعرّف ثابت بين العناصر الشقيقة.
مثال عملي
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>
);
}
الحركة
widthheightxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYtransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYعند الإغفال
الجدول يوضح سلوك الإغفال المتحقق من التنفيذ؛ الأمثلة ليست افتراضيات. لنتيجة ثابتة مرر قيمة صريحة؛ الأبعاد وألوان الثيم متغيرة بحسب السياق.