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

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

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

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

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

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

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

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

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

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

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

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

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

רכיבים במסך

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

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

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

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

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

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

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

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

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

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

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

סיכום

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

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

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

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

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

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

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

מרכז הבקרה שייך לחבילה של אפליקציות מערכת, שכוללת את Media,‏ Notification Center ו-App Launcher. האפליקציות האלה משתפות סגנונות ונכסים שמוגדרים ברמות שונות של מבנה ה-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>