SubspaceModifier คล้ายกับตัวปรับแต่ง Compose สำหรับ Composable
ใน Subspace SubspaceModifierช่วยให้คุณจัดการ Composable ในพื้นที่ 3 มิติ
ได้ ซึ่งจะช่วยให้คุณจัดวาง หมุน และเพิ่มลักษณะการทำงานให้กับโหนดเลย์เอาต์ 3 มิติ
การจัดวาง
โดยค่าเริ่มต้น Subspace จะอยู่ในขอบเขตของพื้นที่ที่แนะนำสำหรับการดูแอป ขอบเขตเหล่านี้จะใช้เมื่อวัดเลย์เอาต์ของคอมโพเนนต์ของพื้นที่ย่อย ซึ่งคล้ายกับขอบเขตในเลย์เอาต์ Compose แบบ 2 มิติ
ขอบเขตการเติม
ตัวแก้ไข fillMaxSize, fillMaxWidth, fillMaxHeight และ
fillMaxDepth จะทำให้เนื้อหา (บางส่วน) เติมขอบเขตขององค์ประกอบระดับบน
การใช้ตัวแก้ไขการเติมจะช่วยให้เลย์เอาต์ของแอปแสดงเนื้อหาที่ไม่ขึ้นอยู่กับลักษณะการแสดงผลของอุปกรณ์ XR
ตั้งค่าขนาดและขนาดที่จำเป็น
ตัวแก้ไข size, width, height และ depth
ประกาศขนาดที่ต้องการของเนื้อหา หากต้องการประกาศขนาดที่แน่นอนของเนื้อหา ให้ใช้ requiredSize, requiredWidth,
requiredHeight และ requiredDepth ต้องระบุหน่วยเหล่านี้ใน dp หากต้องการแปลงจากเมตรเป็น dp ให้ใช้ Meter.toDp()
คอมโพเนนต์ที่กำหนดตำแหน่ง
offset
ตัวปรับแต่ง offset จะย้าย Composable ในพื้นที่ 3 มิติไปตามแกน x, y และ z ต้องระบุหน่วยเหล่านี้ใน dp หากต้องการแปลงจากเมตรเป็น
dp ให้ใช้ Meter.toDp()
rotate
ตัวแก้ไข rotate จะหมุน Composable ที่ระบุในพื้นที่ คุณ
ระบุทิศทางและจำนวนการหมุนได้หลายวิธีดังนี้
- การใช้ระดับความสูงต่ำ การเอียง และการหมุน ซึ่งระบุการหมุนรอบแกน
x,yและzตามลำดับ - การใช้
axisAngleซึ่งเป็นVector3ที่แสดงแกนของการหมุน และจำนวนองศาที่ควรหมุนรอบ - ใช้
Quaternionที่แสดงถึงการหมุนเวียน
rotateToLookAtUser
ตัวปรับแต่ง rotateToLookAtUser จะหมุนเนื้อหาอย่างต่อเนื่อง
เพื่อให้หันหน้าไปทางผู้ใช้ตลอดเวลา คุณยังใช้ตัวปรับแต่งนี้
เพื่อให้ได้เอฟเฟกต์ "บิลบอร์ด" ที่เนื้อหาหมุนหันหน้าไปทางผู้ใช้บน
แกน Y ในขณะที่ยังคงตั้งตรงและสอดคล้องกับแรงโน้มถ่วง โดยให้รวมตัวแก้ไข rotateToLookAtUser กับตัวแก้ไข gravityAligned
ตัวแก้ไขนี้กำหนดให้แอปของคุณต้องกำหนดค่าออบเจ็กต์ของเซสชันปัจจุบันด้วย
DeviceTrackingMode.LAST_KNOWN
เปลี่ยนลักษณะที่ปรากฏของ Composable
alpha
ตัวแก้ไข alpha จะกำหนดความทึบแสงขององค์ประกอบและองค์ประกอบย่อย
โดย 0f หมายถึงโปร่งใสโดยสมบูรณ์ และ 1.0f หมายถึงทึบสนิท
scale
ตัวแก้ไข scale จะปรับขนาดเนื้อหาของ Composable ตามแกนแนวนอน แนวตั้ง และความลึก
การทดสอบและการช่วยเหลือพิเศษ
semantics
ตัวแก้ไข semantics จะเพิ่มความหมายให้กับโหนดเลย์เอาต์เพื่อใช้ในการทดสอบและการช่วยเหลือพิเศษ ดูความหมายใน Jetpack Compose และ
SemanticsModifier
testTag
ตัวแก้ไข testTag เป็นรูปแบบย่อของ
SemanticsPropertyReceiver.testTag ซึ่งช่วยให้เฟรมเวิร์กการทดสอบค้นหา
องค์ประกอบในการทดสอบได้