SubspaceModifier דומה לCompose modifier עבור קומפוזבלים ב-Subspace. SubspaceModifier מאפשרת לכם לשנות את הקומפוזיציות במרחב תלת-ממדי, ולעזור לכם למקם, לסובב ולהוסיף התנהגויות לצמתי פריסה תלת-ממדיים.
פריסה
כברירת מחדל, Subspace מוגבל על ידי המרחב המומלץ לצפייה באפליקציה. המגבלות האלה משמשות למדידת הפריסה של רכיבי המרחב המשני, בדומה למגבלות בפריסות דו-ממדיות של 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 משנה את קנה המידה של התוכן של הרכיב הניתן להרכבה לאורך הצירים האופקי, האנכי והעומק.
בדיקות ונגישות
semantics
המשנה semantics מוסיף סמנטיקה לצומת הפריסה, לשימוש בבדיקות ובנגישות. מידע נוסף זמין במאמרים בנושא סמנטיקה ב-Jetpack פיתוח נייטיב וSemanticsModifier.
testTag
המשנה testTag הוא קיצור של SemanticsPropertyReceiver.testTag, שמאפשר למסגרות בדיקה למצוא את הרכיב בבדיקות.