מערכים אנכיים ב-Jetpack Compose Glimmer

מכשירי XR שנתמכים
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים הבאים.
משקפיים עם תצוגה

ב-Jetpack Compose Glimmer, הרכיב VerticalStack הוא פריסה עצלה עם אפשרות גלילה אנכית, שמסדרת פריטים ברצף תלת-ממדי עם חפיפה ויזואלית. הפריט הראשי מוצג בחזית, והפריטים הבאים מוצבים מאחוריו.

איור 1. דוגמה לכמה סגנונות שונים של ערימות ב-Jetpack Compose Glimmer.

התנהגויות של גלילה ומיקום

הפריטים בסידור ערימה מסודרים בצורה קומפקטית וחופפת, ולכן יש להם התנהגויות שונות מאלה של סוגים אחרים של רכיבים מסודרים, כמו רשימות:

  • כשמשתמש גולל אנכית, הפריט הפעיל בחזית עובר מחוץ לתצוגה, וכך הפריט שמתחתיו יכול להחליק אל המיקום הבולט בחזית.
  • הפריטים תמיד נכנסים לאנימציה של קפיץ מיוחדת כדי להגיע למיקום בחזית אחרי שהמשתמש מסיים את התנועה שלו.
  • הפריטים ממוקמים לאורך ציר ה-Z, והפריטים שמופיעים בהמשך הרשימה ממוקמים מאחורי הפריט הראשי.

ניהול המיקוד

ה-VerticalStack משתמש במערכת מיקוד מיוחדת כדי לוודא שהפריט הנוכחי בחזית הוא תמיד היעד העיקרי לאינטראקציה של המשתמש:

  • מיקוד ראשוני וכניסה מחדש: המיקוד הראשוני והכניסה מחדש למיקוד עוברים לפריט העליון הנוכחי בסטאק.
  • התראה על מיקוד אוטומטי: כשפריטים עוברים, הסטאק מבקש מיקוד לפריט העליון.
  • מעקב אחרי המיקוד: כל פריט משתמש ב-onFocusChanged כדי להודיע ל-StackState על סטטוס המיקוד שלו.

דוגמה: יצירת ערימה אנכית

הקוד הבא יוצר ערימה אנכית עם כמה פריטי כרטיס:

@Composable
fun VerticalStackSample() {
    VerticalStack {
        item {
            Card { Text("Top Card") }
        }
        item {
            Card { Text("Second Card") }
        }
        item {
            Card { Text("Third Card") }
        }
    }
}