המדיה שייכת לחבילה של אפליקציות מערכת (לדוגמה, חיוגן ומרכז האפליקציות). לאפליקציות האלה יש סגנונות ונכסים משותפים שמוגדרים ברמות שונות במבנה AOSP.
framework/base
. כאן מוגדרים כל הסגנונות הבסיסיים של Android.packages/services/Car/car_product/overlay
. מכיל שכבות-על בזמן ה-build שמשנה את המשאבים הרגילים של המסגרת או הבסיס כדי ליצור את המראה והתחושה של AOSP ב-Android Automotive OS. יצרני ציוד מקורי יכולים להחליט להחריג את שכבת-העל הזו ולהשתמש בשכבת-על משלהם.packages/apps/Car/libs/car-ui-lib
. הספרייה הזו מגדירה רכיבים ומשאבים של AAOS שקיימים באפליקציות מערכת ובאפליקציות לא מקובצות שמיועדות להתאמה אישית. לפרטים נוספים, ראו מדריך לשילוב ספריית ממשק המשתמש ברכב.packages/apps/Car/libs/car_app_common
. צבעים וסגנונות נפוצים ששותפו בין האפליקציות של מערכת הרכב. יצרני ציוד מקורי יכולים להשתמש בשכבות-על כדי להתאים אישית את הרכיבים האלה (בדומה ל-car_product/overlay
שמתואר למעלה).packages/apps/Car/libs/car_media_common
. מכיל רכיבים ששותפו בין Media לממשקי משתמש אחרים של מדיה. לדוגמה, הווידג'ט 'מדיה' במסך הבית.packages/apps/Car/Media.
לכל אפליקציות המערכת יש עיצוב משלהן, החל מ-Theme.CarUi
, כפי שמוגדר ב-car-ui-lib
.
מערכת Android Automotive AOSP מספקת שתי מצגות של מדיה.
- ממשק המשתמש של המדיה מאפשר למשתמשים להיכנס לחשבון, לעיין בתוכן ולהשתמש בפקדי הפעלה מפורטים.
- ווידג'ט מדיה במסך הבית מאפשרת להשתמש בתכונות הבסיסיות של פקדי ההפעלה של המדיה במסך הבית.
ממשק משתמש של מדיה
האיור הזה מתאר את המבנה של ממשק המשתמש של המדיה:
איור 1. ממשק משתמש של מדיה.
פרטים על הנחיות לממשק המשתמש ולחוויית המשתמש, וגם על המבנה המרחבי של הרכיבים השונים של Media, זמינים במאמר מודל מרחבי.
AppBarView: סרגל הכלים
סרגל הכלים של ממשק המשתמש של המדיה הוא רכיב שמשותף עם אפליקציות מערכת אחרות, כמו Dialer ו-Radio. במאמר מדריך לשילוב של ספריית ממשק המשתמש ברכב מוסבר איך להתאים אישית את סרגל הכלים.
הגודל המקסימלי של הגרפיקה במדיה
כדי להודיע לאפליקציות המדיה על הגודל המקסימלי של הגרפיקה שאפשר לאחזר, אפשר להוסיף שכבת-על שלmedia_items_bitmap_max_size_px
במערכת. כדי לעשות זאת, שולחים את הערך EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
בתור רמז ברמה הבסיסית. כתוצאה מכך, תחסוךו את רוחב הפס בזמן הורדת התמונות. מידע נוסף זמין במאמר MediaConstants באתר developer.android.com.
עיון בקטע
התכונה 'עיון' מורכבת בעיקר מ-Car UI RecyclerView, שמטפל במיקום של פס הגלילה, בחצים ובשוליים, ויכול לעיין בפריטים מסוגים שונים, כמו כותרות, פריטים בתצוגת רשת, פריטים בתצוגת רשת של סמלים, פריטים ברשימה ופריטים ברשימה של סמלים.
פקדי הפעלה ממוזערים
כשמוצג קטע הניווט וכשבוחרים פריט מדיה, מוצגת תצוגה של לחצני הפעלה בקטן. האיור הבא ממחיש את המבנה של התצוגה:
איור 2. לחצני הפעלה ממוזערים.
עיון ברשימה
המפתחים יכולים להשתמש בערכה של רמזים של סגנון (ראו החלת סגנונות תוכן) כדי להתאים אישית את הצגת תוכן הגלישה במדיה. יצרני ציוד מקורי חייבים לפעול בהתאם לסגנונות האלה, ולהתאים את הצגת המידע למערכת העיצוב שלהם.
סוגי הפריטים הנתמכים והפריסות המתאימות מפורטים בהמשך:
LIST_ITEM
(media_browse_list_item.xml
). בדרך כלל משמשים לפרקים בפודקאסט, כמו פריטים בפלייליסט ומועדפים.ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). משמש לקטגוריות או לאפשרויות בתפריט, שבהן התמונה שכלולה בפריט המדיה היא לא עטיפת האלבום בפועל אלא סמל.GRID_ITEM
(media_browse_grid_item.xml
). משמש בדרך כלל לפריטים שניתן להפעיל, כמו שירים או פלייליסטים.ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
). משמש לקטגוריות, בדומה למאפייןICON_LIST_ITEM
.HEADER
(media_browse_header_item.xml
). משמשת לארגון פריטי המדיה לפי קטעים.
מסך ההפעלה
כדי להציג את המסך הזה, מרחיבים את פקדי ההפעלה הממוזערים:
- המטא-נתונים של פריט המדיה שמופעלים כרגע (כולל כותרת וכותרת משנה).
- פקדי הפעלה מלאים.
- תור ההפעלה (משמש להצגת פריטים שהושמעו לאחרונה או הפריטים הבאים שיופעלו).
הרכיבים של מסך ההפעלה מצוינים באיורים הבאים.
איור 3. מסך ההפעלה.
סרגל הכלים של מסך ההפעלה לא משותף עם שאר האפליקציה. במקום זאת, הרכיבים בחלק העליון של המסך מנוהלים בנפרד במסך הזה.
שיוך של פורמט אודיו
כשאפליקציות מגדירות את הערך
KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
או את הערך
KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
בפרטים הנוספים של פריט המדיה שמופעלת כרגע. יצרני ציוד מקורי חייבים להציג את קובץ ה-vector drawable המתאים, כפי שמצוין ב-URI.
צריך להשתמש בגרסה הגדולה של הסמל פורמט התוכן בתצוגת ההפעלה הראשית. בתצוגות משניות, למשל בסרגל הפעלה קטן, יצרני ציוד מקורי יכולים להשתמש בגרסה הקטנה יותר של סמל פורמט התוכן. הרכיב
ContentFormatView
יוצר את הסמל האופטימלי על סמך המאפיין logoSize
שלו.
קישורים להפעלה
כשאפליקציות מגדירות את הערךKEY_SUBTITLE_LINK_MEDIA_ID
או KEY_DESCRIPTION_LINK_MEDIA_ID
, יצרני ציוד מקורי חייבים להציג את הכתוביות או את התיאור באופן שמציין שאפשר להקיש עליהן, ואז לפתוח את תצוגת העיון כדי להציג את פריט המדיה המקושר כאשר המשתמש מקייש עליו.
רכיבי UI להפעלה
מסך ההפעלה כולל קבוצה מורחבת של פקדי הפעלה, המסודרים בשורות בקרה. השורה המשנית (מוצגת למטה כשורה העליונה) מוצגת רק אם הרווח בשורה הראשונה לא מספיק להצגת כל הפעולות שהוחזרו על ידי אפליקציית המדיה מ-PlaybackStateCompat#getActions()
.
איור 4. פקדי הפעלה.
יצרני ציוד מקורי יכולים להתאים אישית את הסמלים של פעולות רגילות, אבל הם חייבים להציג סמלי פעולות בהתאמה אישית כפי שהם מוצגים באפליקציות המדיה.
ווידג'ט מדיה במסך הבית
הווידג'ט הזה מיושם כמקטע ב-car-media-common
.
המקטע הזה כולל גרסה ממוזערת של מסך ההפעלה שמתואר למעלה. כל אותם הכללים ויכולות ההתאמה האישית חלים.
איור 5. ווידג'ט מדיה במסך הבית.
הלחצן של 'בורר האפליקציות' שמוצג למעלה משתמש בפונקציונליות המתג שמתוארת במאמר תהליך המשתמש למעבר בין מקורות מדיה.
כדי להשתמש בסמל הנוכחי של מקור המדיה בלחצן לבחירת אפליקציה, צריך להוסיף שכבה על הדגל use_media_source_logo_for_app_selector
שמוגדר ב-platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml
ולהגדיר אותו כ-true
. בעקבות השינוי הזה, הסמל של מקור המדיה בצד השני של סרגל הכלים של האפליקציה יהיה מוסתר. ההתאמה האישית חלה גם על אפליקציית Media Center ועל אפליקציית הרדיו.
איור 6. לחצן לבחירת אפליקציית מדיה.
הפריסה של לחצני ההפעלה, ההשהיה והעצירה
אפשר להתאים אישית את הפריסה של לחצני ההפעלה/ההשהיה/העצירה בדף 'מה שומעים עכשיו?' ובתצוגה של לחצני הנגן הממוזערים. שתי הפריסות מוגדרות ב-packages/apps/Car/libs/car-media-common/res/layout/
.
כדי להתאים אישית את הפריסות של הלחצנים, מחילים שכבות-על בזמן ה-build על play_pause_stop_button_layout.xml
ו-minimized_play_pause_stop_button_layout.xml
.
הדגשת הפריט הנוכחי בתור ההשמעה
המצב של הפריט הנוכחי ברשימת ההשמעה מוגדר כ-selected
, כך שאפשר להתאים אותו אישית באמצעות משאבי מצב כמו רשימות מצב צבע (ראו משאב רשימת מצב צבע
) ופריטי drawable של רשימת מצב (ראו משאבי drawable).
כדי להחיל את שינויי העיצוב הנדרשים, אפשר לשנות את הפריסה של פריט התור packages/apps/Car/Media/res/layout/queue_list_item.xml, או פריסה נפרדת
אפשר גם להציג סמל לצד הפריט הנוכחי ברשימת ההשמעה:
- שכבת-על של הדגל הבוליאני
show_icon_for_now_playing_queue_list_item
שמוגדר בקובץ packages/apps/Car/Media/res/layout/queue_list_item.xml, או שכבת-עלכדי להסתיר את טיימר ההפעלה, מגדירים את
show_time_for_now_playing_queue_list_item
לערךfalse
. - משתמשים ב-drawable של מצב, למשל, חזית או רקע של תצוגת הבסיס של הפריט (ראו packages/apps/Car/Media/res/layout/queue_list_item.xml), או תצוגה נפרדת בהיררכיית התצוגות של הפריט.
איור 7. הפריט הנוכחי שמודגש ברשימת ההשמעה.