Text
แสดงการอ่าน หน่วย หรือข้อความอธิบาย สามารถตั้งค่าแบบอักษร ขนาดแบบอักษร การจัดแนว การตัดบรรทัด และการตัดทอนได้ เนื้อหาจะถูกแปลงเป็นสตริงอย่างสม่ำเสมอและค่าว่างจะแสดงเป็นค่าว่าง
ตัวอย่าง
function main() {
return (
<Text fontSize={32} font="rounded" lineLimit={2} truncationMode="tail">
Hello, CapDrive
</Text>
);
}
การใช้งาน
- เนื้อหาใช้ toString() ส่วน null/undefined ว่าง ห้ามซ้อน View ใน Text ให้รวมไอคอนด้วย HStack จำกัด width ก่อน lineLimit/truncationMode ค่า minimumScaleFactor=1 ไม่ย่อข้อความ
- ขนาดตัวเลขใช้พอยต์ auto วัดเนื้อหา ส่วน fill ใช้พื้นที่ที่พ่อแม่จัดให้ กำหนดขนาดกรอบก่อน เพราะ fill และข้อความยาวไม่ขยายกรอบที่ล็อกขนาดไว้
คุณสมบัติ
children?TextContent | TextContent[]เนื้อหาการวาดของมุมมองลูก
fontSize?numberขนาดตัวอักษร หน่วยพอยต์
14fontWeight?"ultraLight" | "thin" | "light" | "regular" | "medium" | "semibold" | "bold" | "heavy" | "black"น้ำหนักฟอนต์ ultraLight ถึง black; regular คือปกติ
"regular"font?"default" | "rounded" | "monospaced" | "serif"รูปแบบฟอนต์ default, rounded, monospaced หรือ serif
"default"color?Paintสีสำหรับการวาด รวมถึงสี HDR
HDR($env.foreground)alignment?"leading" | "center" | "trailing"จัดข้อความในความกว้างที่มีด้วย leading, center หรือ trailing
"leading"lineLimit?number | nullจำนวนบรรทัดสูงสุด null หรือไม่ระบุให้ขึ้นบรรทัดได้ไม่จำกัดจำนวน
1truncationMode?"head" | "middle" | "tail"ตำแหน่งตัดข้อความที่เกิน: head, middle หรือ tail
"tail"minimumScaleFactor?numberสเกลข้อความต่ำสุดเมื่อที่ไม่พอ 0.01–1; 1 ไม่ย่อ
0.5monospacedDigits?booleanตัวเลขกว้างเท่ากัน ป้องกันการกระโดดแนวนอนเมื่อค่าเปลี่ยน
trueletterSpacing?numberช่องว่างระหว่างตัวอักษรที่เพิ่มขึ้นเป็นพอยต์
0contentAnimation?ContentAnimationเอฟเฟกต์เมื่อเนื้อหาเปลี่ยน ใช้ type ที่ View รองรับ duration/delay เป็นวินาที
{type: "numericText"}คุณสมบัติทั่วไป
width?number | "auto" | "fill"ความกว้างเป็นพอยต์ ปรับขนาดอัตโนมัติ หรือเติมเต็มพื้นที่แม่
100height?number | "auto" | "fill"ความสูงเป็นพอยต์ ปรับขนาดอัตโนมัติ หรือเติมเต็มพื้นที่แม่
80padding?numberระยะขอบภายในเนื้อหา หน่วยพอยต์
0x?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?"rectangle" | "ellipse"รูปทรงตัด rectangle หรือ ellipse; Material ใช้ false เพื่อปิดได้
"rectangle"mask?View | nullView มาสก์อัลฟา จัดกึ่งกลางโดยไม่ส่งผลต่อเลย์เอาต์; 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 (
<VStack width={180} spacing={12}>
<Text width="fill" fontSize={20} lineLimit={2} truncationMode="tail">
CapDrive — a longer instrument title
</Text>
<HStack alignment="firstTextBaseline" spacing={4}>
<Text fontSize={48} monospacedDigits={true}>
78
</Text>
<Text fontSize={14}>km/h</Text>
</HStack>
</VStack>
);
}
ภาพเคลื่อนไหว
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYfontSizeletterSpacingminimumScaleFactorcolortransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorYเมื่อไม่ระบุ
ตารางคือพฤติกรรมเมื่อไม่ระบุที่ตรวจจากโค้ด ตัวอย่างไม่ใช่ค่าเริ่มต้น หากต้องการผลแน่นอนให้ระบุค่า ขนาดและสีตามบริบทไม่ใช่ค่าคงที่
| คุณสมบัติ | เมื่อไม่ระบุ |
|---|---|
fontSize | 14 |
fontWeight | "regular" |
font | "default" |
monospacedDigits | true |
minimumScaleFactor | 1 |
lineLimit | null |
alignment | "center" |
truncationMode | "tail" |
color | HDR($env.foreground) |