SubspaceModifier
דומה למַעְדִּר Compose לרכיבים שניתנים ליצירה ב-Subspace
. בעזרת SubspaceModifier
אפשר לבצע פעולות על רכיבים מורכבים במרחב תלת-ממדי, כמו מיקום, סיבוב והוספת התנהגויות לצמתים של פריסה תלת-ממדית.
פריסה
כברירת מחדל, Subspace
מוגבל למרחב המומלץ לצפייה באפליקציה. המערכת משתמשת במגבלות האלה כשהיא מודדת את הפריסה של רכיבי המרחב המשני, בדומה למגבלות בפריסות 2D של Compose.
גבולות מילוי
בעזרת המשתנים המשתנים fillMaxSize
, fillMaxWidth
, fillMaxHeight
ו-fillMaxDepth
, התוכן ממלא (חלקית) את גבולות ההורה שלו.
שימוש במודיפיקציות מילוי עוזר לכם לתכנן את הפריסה של האפליקציה כך שהתוכן יהיה עצמאי ממאפייני התצוגה של מכשיר ה-XR.
הגדרת הגודל והגודל הנדרש
המשתנים size
, width
, height
ו-depth
מגדירים את הגודל המועדף של התוכן. כדי להצהיר על הגודל המדויק של התוכן, משתמשים ב-requiredSize
, ב-requiredWidth
, ב-requiredHeight
וב-requiredDepth
. צריך לציין את היחידות האלה ב-dp
. כדי להמיר מטרים ל-dp, משתמשים ב-Meter.toDp()
.
מיקום רכיבים מורכבים
offset
המשתנה offset
מעביר את הרכיב המודולרי במרחב תלת-ממדי לאורך הצירים x
, y
ו-z
. צריך לציין את היחידות האלה ב-dp
. כדי להמיר מטרים ל-dp, משתמשים ב-Meter.toDp()
.
rotate
המשתנה rotate
מסובב את הרכיב הנתון במרחב. אפשר לציין את הכיוון ואת מידת הסיבוב בדרכים שונות:
- באמצעות שימוש ב-pitch, yaw ו-roll, שמציינים את הסיבוב סביב הצירים
x
,y
ו-z
, בהתאמה. - באמצעות
axisAngle
, שהואVector3
שמייצג את ציר הסיבוב, ואת מספר המעלות שצריך לסובב אותו, - באמצעות
Quaternion
שמייצג את הסיבוב.
שינוי המראה של רכיבים מורכבים
alpha
המאפיין alpha
מגדיר את האטימות של הרכיב ושל רכיבי הצאצאים שלו, כאשר הערך 0f
מייצג שקיפות מלאה והערך 1.0f
מייצג אטימות מלאה.
scale
המשתנה המשנה scale
משנה את הגודל של התוכן של ה-composable לאורך הצירים האופקי, האנכי והעומק.
הוספת התנהגויות לרכיבים
resizable
כשהמשתנה המשנה resizable
מופעל, יוצגו אמצעי בקרה של ממשק המשתמש שניתן לגרור, שמאפשרים למשתמש לשנות את גודל הרכיב. התהליך הזה דומה לשימוש ב-ResizableComponent
ב-Entity
.
movable
כשמפעילים את המשתנה movable
, יתווספו לרכיב אמצעי בקרה בממשק המשתמש שמאפשרים למשתמש להזיז את הרכיב במרחב תלת-ממדי. התהליך הזה דומה לשימוש ב-MovableComponent
ב-Entity
.
בדיקה ונגישות
semantics
המשתנה semantics
מוסיף סמנטיקה לצומת הפריסה, לשימוש בבדיקות ובנגישות. מידע נוסף זמין במאמרים סמנטיקה ב-Jetpack פיתוח נייטיב ו-SemanticsModifier
.
testTag
המאפיין testTag
הוא קיצור דרך ל-SemanticsPropertyReceiver.testTag
, שמאפשר למסגרות בדיקה למצוא את הרכיב בבדיקות.