התאמה אישית של אפליקציית ההפניה

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

מסלולי המשתמש באפליקציה וממשק המשתמש

בקטע הזה מוסבר על תהליכי המשתמש ואיך מפעילים את מרכז הבקרה.

הפעלת מרכז הבקרה

אפשר להפעיל את מרכז הבקרה דרך מרכז האפליקציות או דרך סמל בסרגל הניווט של ממשק המשתמש של המערכת. הסמל מופיע רק בגרסאות שבהן מופעלת האפשרות 'משתמשים גלויים ברקע' (מידע נוסף זמין במאמר UserHandleAware).

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

  • סידור המסכים והשימוש במסכים המקומיים והמרוחקים.
  • המסכים מאוכלסים במדיה ובאמצעי בקרה של המדיה.
  • איך כל מסך מציג תצוגה מפורטת של אמצעי הבקרה של המדיה (ועוד).

הסידור של המסכים מייצג את הפריסה של המסכים ברכב. כל מסך הוא DevicePickerScreen. כדי להתאים אישית את המיקום והגודל של כל מסך, משתמשים בשכבת-על של משאב בזמן ריצה (RRO). מידע נוסף זמין במאמר שינוי הערך של משאבי אפליקציה בזמן ריצה.

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

כל מסך שני הוא מסך מרוחק שמייצג תצוגה שונה ברכב שאפשר לזהות לפי סידור המסכים ב-Fragment. כדי לחשב את המספר הכולל של אזורי הנוסעים שהוגדרו ברכב, משתמשים בפונקציה CarOccupantZoneManager#getAllOccupantZones.

בכל מסך מוגדר מאפיין מותאם אישית controlcenter:occupantZoneId כדי לשייך נתונים לאזור התפוס הרלוונטי. כשמפעילים אפליקציית מדיה במסך מסוים, עטיפת האלבום של המדיה מוצגת במסך המתאים. כפתור הפעלה (או השהיה) מוצג מתחת למסך.

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

רכיבים במסך

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

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

  • Display Input Lock (הצגת נעילת הקלט) נועלת את הקלט למסך. אי אפשר להחיל את הפעולה הזו על המסך של הנהג.

  • האפשרות הפעלה של הצג משביתה את ההפעלה של המסך. אי אפשר להחיל את הפעולה הזו על המסך של הנהג.

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

התהליך של שיקוף וצפייה משותפת בין השולח (למעלה) לבין המקבל (למטה)
איור 2. שיקוף הדף והצפייה המשותפת בין השולח (למעלה) לבין הנמען (למטה).

איך מתחילים צפייה משותפת

דף השיקוף דומה לדף הנחיתה בכך שהוא משתמש ב-RRO.

כדי להוסיף מסך לצפייה משותפת, מקישים על המסך ואז על סיום.

פעולה כזו תפתח Mirroring Activity שבו האפליקציה המשותפת תפעל, ותספק אמצעי בקרה זמניים וצפים כדי לצאת מהפעילות המשותפת או לחזור לדף השיתוף כדי להוסיף או להסיר משתתפים.

שיקוף הפעילות מציג אפליקציה משותפת עם פקדים צפים לניהול הצפייה המשותפת.
איור 3. שיקוף הפעילות עם אמצעי בקרה זמניים צפים.

סיכום

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

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

הנחיות להתאמה אישית

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

התאמה אישית תיאור
SHOULD

להתאים את העיצוב והסגנון הכלליים באמצעות RRO, למשל:

  • לוח צבעים
  • התאמת גודל
  • מראה הטקסט
  • המראה של תיבת הדו-שיח
  • Drawables
  • ערכי הגדרה
MAY שינוי המבנה של ממשק המשתמש ברמה הגבוהה של מרכז הבקרה.

מרכז הבקרה שייך לחבילה של אפליקציות מערכת, שכוללת את Media,‏ מרכז ההתראות ו-מרכז האפליקציות. האפליקציות האלה משתפות סגנונות ונכסים שמוגדרים ברמות שונות של מבנה ה-AOSP:

framework/base/core
כל סגנונות הבסיס של Android מוגדרים כאן. בפרט, כל העיצובים של אפליקציות המערכת מבוססים על Theme.DeviceDefault, העיצוב שמיועד לשימוש על ידי יצרני ציוד מקורי (OEM) כדי להתאים אישית את מראה ברירת המחדל של המכשיר.

packages/services/Car/car_product/overlay:
התיקייה הזו מכילה שינויים ב-Theme.DeviceDefault שמשמשים ליצירת המראה והתחושה של AOSP ב-Android Automotive. יצרני ציוד מקורי (OEM) יכולים לבחור להחריג את שכבת העל הזו ולהשתמש בשכבת על משלהם.

packages/apps/Car/libs/car-ui-lib:
הספרייה הזו מגדירה רכיבים ומשאבים של AAOS שמשותפים לאפליקציות מערכת ולאפליקציות לא מקובצות שנועדו להתאמה אישית. פרטים נוספים זמינים במדריך לשילוב של Car UI Library.

packages/apps/Car/libs/car-apps-common:
צבעים וסגנונות נפוצים שמשותפים בין אפליקציות מערכת שסופקו על ידי AOSP. אפשר להשתמש בשכבות-על כדי להתאים אישית את הרכיבים האלה (בדומה לpackages/services/Car/car_product/overlay).

packages/apps/Car/MultiDisplay/ControlCenter:
לכל אפליקציות המערכת יש עיצוב שמתחיל מ-Theme.CarUi ומוגדר ב-car-ui-lib. ‫ControlCenterActivity משתמש ב-custom Theme.Transparent, שמרחיב את Theme.CarUi.

כדי לתמוך בתהליך (כמו צפייה משותפת שדורשת שהמשימה המשוכפלת תהיה גלויה), מרכז הבקרה משתמש בשילוב של חלונות שקופים ורקעים שקופים שלא מעבירים את האפליקציה לרקע או שולחים Lifecycle events.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>