ใช้ Material Design สำหรับ UI เชิงพื้นที่

อุปกรณ์ XR ที่รองรับ
คำแนะนำนี้จะช่วยคุณสร้างประสบการณ์การใช้งานสำหรับอุปกรณ์ XR ประเภทนี้
ชุดหูฟัง XR
แว่นตา XR แบบใช้สาย

Material Design มีคอมโพเนนต์และเลย์เอาต์สำหรับ XR เมื่อใช้ไลบรารี Material 3, เลย์เอาต์แบบปรับอัตโนมัติ และไลบรารี XR Compose Material 3 คุณจะสร้างลักษณะการทำงานของ UI เชิงพื้นที่ลงในแอป Compose ได้

เพิ่มไลบรารี XR Compose Material 3 ลงในทรัพยากร Dependency ของแอปเพื่อใช้คอมโพเนนต์ Material 3 สำหรับ XR หรือวางคอมโพเนนต์ Material 3 มาตรฐานไว้ในคอนเทนเนอร์ Jetpack Compose สำหรับ XR โดยตรง เช่น Orbiter, SpatialDialog และ SpatialPanel

ใช้คอมโพเนนต์ Material 3 สำหรับ XR

ไลบรารี androidx.xr.compose.material3 มีคอมโพเนนต์ Material 3 สำหรับ XR สำหรับรูปแบบ UI เชิงพื้นที่ที่พบบ่อย ซึ่งรวมถึงแถบและแถบนำทาง แถบแอปด้านบน แถบเครื่องมือแบบลอย กล่องโต้ตอบ เลย์เอาต์รายละเอียดรายการ และปุ่มเปิด/ปิดเพื่อสลับระหว่าง Home Space กับ Full Space Spatial* ที่จัดวางเชิงพื้นที่ คอมโพสิเบิลในไลบรารีนี้เป็นเวอร์ชันทดลองและต้องเลือกใช้ด้วย @OptIn(ExperimentalMaterial3XrApi::class)

ตรวจสอบ LocalSpatialCapabilities.current.isSpatialUiEnabled เพื่อแสดงผล Material 3 สำหรับคอมโพเนนต์ XR เมื่อเปิดใช้ UI เชิงพื้นที่ และคอมโพเนนต์ Material 3 มาตรฐานเมื่อไม่ได้เปิดใช้ UI เชิงพื้นที่ ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบความสามารถเชิงพื้นที่

ใช้ SpatialNavigationRail หรือ SpatialWideNavigationRail เพื่อแสดงแถบนำทาง Material 3 ใน Orbiter ที่จัดแนวเริ่มต้นเมื่อเปิดใช้ UI เชิงพื้นที่ ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์ของ Material Design

แถบนำทางด้านข้างแบบไม่ใช่เชิงพื้นที่

แถบนำทางด้านข้างแบบไม่ใช่เชิงพื้นที่

แถบนำทางด้านข้างแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

แถบนำทางด้านข้างแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

ใช้ SpatialNavigationBar หรือ SpatialShortNavigationBar เพื่อแสดงแถบนำทาง Material 3 ใน Orbiter ที่จัดชิดด้านล่างเมื่อเปิดใช้ UI เชิงพื้นที่ ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์ของ Material Design

แถบนำทางแบบไม่ใช่เชิงพื้นที่

แถบนำทางแบบไม่ใช่เชิงพื้นที่

แถบนำทางแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

แถบนำทางแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

กล่องโต้ตอบ

ใช้ SpatialBasicAlertDialog เพื่อแสดงกล่องโต้ตอบการแจ้งเตือนพื้นฐานภายใน SpatialDialog ที่มีระดับความสูงเชิงพื้นที่ หรือรวมเนื้อหากล่องโต้ตอบ Material 3 มาตรฐานไว้ใน SpatialDialog โดยตรง

ดูข้อมูลเพิ่มเติมได้ที่กล่องโต้ตอบและหลักเกณฑ์การออกแบบแบบปรับอัตโนมัติ

กล่องโต้ตอบแบบไม่ใช่เชิงพื้นที่

กล่องโต้ตอบแบบไม่ใช่เชิงพื้นที่

กล่องโต้ตอบแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

กล่องโต้ตอบแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

แถบแอปด้านบน

ใช้ SpatialTopAppBar หรือ SpatialTwoRowsTopAppBar เพื่อแสดงแถบแอปด้านบนของ Material 3 ภายใน Orbiter ที่จัดแนวไว้ด้านบนเมื่อเปิดใช้ UI เชิงพื้นที่

ดูข้อมูลเพิ่มเติมได้ที่แถบแอปด้านบนและหลักเกณฑ์การออกแบบแบบปรับอัตโนมัติ

แถบแอปด้านบนแบบไม่ใช่เชิงพื้นที่

แถบแอปด้านบนแบบไม่ใช่เชิงพื้นที่

แถบแอปด้านบนแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

แถบแอปด้านบนแบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

เลย์เอาต์รายละเอียดรายการสำหรับ XR

ใช้ SpatialListDetailPaneScaffold เมื่อเปิดใช้ UI เชิงพื้นที่เพื่อแสดงเลย์เอาต์รายละเอียดรายการแบบปรับอัตโนมัติของ Material 3 ซึ่งแต่ละแผงจะอยู่ใน SpatialPanel ของตัวเอง เมื่อไม่ได้เปิดใช้ UI เชิงพื้นที่ ให้ใช้ ListDetailPaneScaffold ดูข้อมูลเพิ่มเติมได้ที่เลย์เอาต์แบบรายละเอียดรายการและหลักเกณฑ์การออกแบบแบบปรับอัตโนมัติ

ListDetailPaneScaffold แบบไม่ใช่เชิงพื้นที่

ListDetailPaneScaffold แบบไม่ใช่เชิงพื้นที่

ListDetailPaneScaffold แบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

ListDetailPaneScaffold แบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

เลย์เอาต์แผงสนับสนุนสำหรับ XR

เมื่อเปิดใช้ UI เชิงมิติพื้นที่ ให้วางแผงหลักและแผงสนับสนุนไว้ในคอนเทนเนอร์ SpatialPanel แยกกันภายใน SpatialRow ใน Subspace เมื่อไม่ได้เปิดใช้ UI เชิงพื้นที่ ให้ใช้ SupportingPaneScaffold ดูข้อมูลเพิ่มเติมได้ที่แผงสนับสนุนและหลักเกณฑ์การออกแบบแบบปรับอัตโนมัติ

SupportingPaneScaffold แบบไม่ใช่เชิงพื้นที่

SupportingPaneScaffold แบบไม่ใช่เชิงพื้นที่

SupportingPaneScaffold แบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

SupportingPaneScaffold แบบเชิงพื้นที่ (ปรับให้เหมาะกับ XR)

เริ่มออกแบบด้วยชุดเครื่องมือออกแบบ Material 3 สำหรับ Figma

ภาพคอลลาจขององค์ประกอบจากชุดเครื่องมือออกแบบ Material 3

ดาวน์โหลดชุดเครื่องมือออกแบบ Material 3 เพื่อเริ่มต้นใช้งาน

ดูเพิ่มเติม