התמקדות ב-Jetpack פיתוח נייטיב Glimmer

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

כל רכיבי Glimmer של Jetpack Compose מיועדים לעבוד עם שיטות קלט רגילות, כמו הקשה או החלקה על משטח המגע של משקפי ה-AI, וגם לקבל פקודות קלט ברמה נמוכה שספציפיות לחומרה של משקפי ה-AI. רכיבי Glimmer של Jetpack Compose מטפלים באופן אוטומטי באירועי הקלט הנדרשים. כדי להטמיע התנהגויות אינטראקציה ספציפיות ברכיבים מותאמים אישית, אפשר להשתמש בממשקי API קיימים של Compose כמו Modifier.draggable או Modifier.scrollable.

במשקפי AI עם תצוגה, קלט של מצביע יכול להשפיע על המיקוד:

  • הקשה: אינטראקציה ישירה להפעלת אלמנט. המיקוד עובר לרכיב כשמשתמש מבצע איתו אינטראקציה.
  • החלקה: משמשת לניווט ולגלילה. מחוות החלקה שלא מטופלות מתורגמות אוטומטית לתנועות של המיקוד, וכך אפשר לנווט בממשק המשתמש בצורה חלקה בלי קלט ישיר של מצביע.

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

הזזת המיקוד

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

סדר המיקוד

בדומה ל-Jetpack Compose, ‏ Jetpack Compose Glimmer משתמש בחיפוש מיקוד חד-ממדי. מידע נוסף על סדר מעבר המיקוד זמין במאמר שינוי סדר מעבר המיקוד.

כדי לשנות את הפריט שמוגדר כברירת מחדל למיקוד, אפשר להוסיף Modifier.focusGroup() ברמה העליונה ולציין onEnter מותאם אישית: focusProperty

Modifier.focusProperties {
    onEnter = {
        initialFocus.requestFocus()
        cancelFocusChange()
    }
}
.focusGroup()

קונטיינרים של גלילה

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

מצבי התמקדות שמוגדרים כברירת מחדל

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

איור 1. שלושה מצבי מיקוד ב-Jetpack Compose Glimmer, שמוצגים באמצעות משוב חזותי שמבוסס על קווי מתאר.
  • ברירת מחדל: צבע הרקע של הכפתור נגזר מ-GlimmerTheme.colors.surface, התוכן הראשי שלו מחשב את צבע התוכן של הרקע הזה, והסמלים הם GlimmerTheme.colors.primary.

  • במיקוד: רוחב הגבול גדל כדי להראות שהאלמנט נמצא במיקוד.

  • התמקדות + לחיצה: הרקע מוגדר ל-GlimmerTheme.colors.surface באטימות מלאה כדי להעביר את מצב הבחירה.