אפשר להשתמש בממשק משתמש ניתן להתאמה כדי ליצור חוויית משתמש מתוחכמת, דינמית ועם כמה חלוניות ברכבים. ממשק משתמש ניתן להתאמה:
מערכת חלונות גמישה.
מצמצם את הסיכונים, העלויות והמורכבויות ההנדסיות שמוצגים על ידי חבילת בדיקות התאימות (CTS) להטמעות של ממשק משתמש.
ממשק המשתמש ניתן להתאמה, ותומך במגוון רחב של עיצובים מודרניים של מערכות מידע ובידור ברכב (IVI) שדורשים סידורי חלונות דינמיים.
הטבות ותאימות
היתרונות של ממשק משתמש ניתן להתאמה כוללים:
סיכון נמוך יותר בבדיקה: המסגרת מאושרת מראש ועומדת בדרישות של CTS, מה שמבטל את הסיכון העיקרי לכישלונות בבדיקה בשלב מאוחר במחזור התוכנית. ממשק משתמש שניתן להרחבה יכול לחסוך חודשים של מאמץ הנדסי ולהאיץ את תהליך ההתאמה לתקנות.
גמישות עיצובית רבה יותר: יכולת מוכחת ליצור מחדש מודלים מורכבים רבים של חלונות קיימים לרכב. ממשק משתמש ניתן להתאמה תומך בעיצובים שאפתניים ומובחנים מאוד.
פחות מורכבות בהטמעה: הפשטה למודל XML ברמה גבוהה שמבוסס על הגדרות מפחיתה את המכשולים בכניסה ללוגיקה של חלונות בהתאמה אישית.
ביצועים טובים יותר: ממשק המשתמש שניתן להתאמה מבוסס על חלונות עם ביצועים טובים מאוד, והוא משולב באופן מלא עם Android רגיל. המעברים חלקים ואפשר לבצע אופטימיזציה.
אבני בניין מרכזיות
ממשק משתמש שניתן להרחבה מצמצם את הצורך בקוד ספציפי ליצרן הציוד המקורי, מקל על העדכון ומפחית את הסיכונים בהשקה על ידי ביטול בעיות פוטנציאליות וצמצום בעיות באישור.
הגישה שמבוססת על XML נותנת מענה לאתגרים נפוצים בניהול מערכות מורכבות של חלונות ב-AAOS, כמו בעיות שקשורות למיקום מדויק, לקונפליקטים בסדר Z ולמיקוד באפליקציה.
ממשק משתמש שניתן להתאמה מספק את אבני הבניין הבסיסיות האלה.
חלונית
חלונית היא מאגר מלבני בסיסי במסך. כל חלונית ממופה למשימת בסיס ייעודית לניהול עצמאי. בחלונית יכולים להיות משימות של אפליקציות (TaskPanel) או תוכן מבוסס-תצוגה, כמו ווידג'טים (DecorPanel). מידע נוסף זמין במאמר הגדרת חלונית.
וריאנט
וריאציה מגדירה מצב חזותי ספציפי של חלונית וכוללת מאפיינים כמו bounds (מיקום וגודל), visibility, layer (סדר Z) ורדיוס corner. לוח יחיד יכול לכלול וריאציות, כמו opened, closed או minimized. מידע נוסף זמין במאמר שימוש בווריאציה לעיצוב מצב חזותי.
מעבר
מעבר מגדיר איך חלונית עוברת מהמצב הנוכחי שלה, fromVariant, למצב חדש, toVariant. אפשר להגדיר את המעבר באמצעות Event, ואפשר להגדיר את האנימציה שהחלונית תציג במהלך שינוי המצב.
חלונית אמורה לעבור מהמצב הנוכחי שלה למצב toVariant. לצורך סנכרון,
כל המעברים מונפשים ומתואמים על ידי מנהל החלונות הראשי.
- אירוע: טריגר להפעלת שינוי בממשק המשתמש. יצרן ציוד מקורי (OEM) או המערכת יכולים להגדיר מראש טריגר. לדוגמה,
_System_OnHomeEvent,_System_TaskOpenEventאו לחיצה על לחצן ניווט מותאם אישית.
לדוגמה, ממשק משתמש שניתן להתאמה משתמש באירועים כדי להפעיל מעברים. המעברים האלה מציגים אנימציה של פאנל מגרסה אחת לאחרת כדי להציג שינויים דינמיים בממשק המשתמש. השינויים האלה מועברים לאפליקציות אחרות במערכת כדי להתאים את התוכן לפי הצורך. הגדרת קשרי גומלין בממשק המשתמש באמצעות XML מאפשרת:
מציינים התנהגויות מורכבות של ממשק המשתמש: מגדירים אינטראקציות מורכבות של ממשק המשתמש.
סידור מערכות חלונות: שליטה במיקום החלונות ובשכבות שלהם.
הטמעת נושאים ויזואליים: חשוב להקפיד על מיתוג ועקרונות עיצוב עקביים.
צמצום מורכבות הקוד: צמצום הצורך בפיתוח נרחב של קוד מותאם אישית.
למידע נוסף, אפשר לעיין במאמר בנושא הגדרת מעבר.
לחצנים בממשק המשתמש של המערכת
בנוסף להפעלת כוונות, CarSystemBarButtons יכולה להפעיל אירוע ScalableUI כשמקישים עליה באמצעות המאפיינים event, selectedEvent ו-unselectedEvent.
event מתאר את האירוע שיופעל כשמקישים על הלחצן. אם נדרש בקרה מפורטת יותר על אירוע, משתמשים במאפיינים selectedEvent ו-unselectedEvent כדי לציין את האירוע שיופעל כשבוחרים את הלחצן או מבטלים את הבחירה בו, בהתאמה.
מתי כדאי להטמיע את ממשק המשתמש של המערכת
בקטע הזה מתוארים שימושים אופטימליים בממשק משתמש ניתן להרחבה.
- יצירת פריסות קבועות של חלונות מרובים
- הטמעה של סצנת בית דינמית
- הוספת שכבות-על לפי הקשר
- עיצוב אינטראקציות מורכבות בחלונית
יצירת פריסות קבועות עם כמה חלוניות
ליצור חוויה מרובת אזורים שבה אזורים שונים במסך מוקדשים באופן קבוע לפונקציות ספציפיות. לדוגמה, אמצעי בקרה ייעודיים למדיה, פס בקרת אקלים או מפה במסך מלא.
משתמשים ב-TaskPanels לאפליקציות ראשיות (כמו ניווט) וב-DecorPanels לאלמנטים בממשק המשתמש, בצורה של תצוגות, שצריכים להיות ממוקמים בין TaskPanels.
הטמעה של סצנת בית דינמית
הטמעה של סצנת Home שמורכבת מכמה חלוניות של אפליקציות שמוצגות בו-זמנית וכוללות אינטראקציה. לדוגמה, מפה, נגן מדיה ורשת אפליקציות.
כדי להעביר את כל החלוניות הרלוונטיות לגרסאות הבית שלהן opened או default, צריך להגדיר את _System_HomeEvent.
איך משתמשים בשכבות-על לפי נושאים
מיקום של רכיבים בממשק המשתמש שלא שייכים לאפליקציה, כמו ווידג'טים הקשריים, מיתוג מותאם אישית וסרגלי גרירה שאפשר להנפיש בתיאום עם משימות האפליקציה.
משתמשים ב-DecorPanels לכל הרכיבים שהם רק דקורטיביים או שמארחים ווידג'טים. אם ווידג'ט מארח אפליקציה שניתן להפעיל אותה ושהיא מתפקדת באופן מלא, עדיף להשתמש ב-Panel > TaskPanel. משתמשים ב-DecorPanels עבור רכיבי ממשק משתמש מבוססי-תצוגה כשצריך לסנכרן את השכבות עם השכבות של TaskPanel.
עיצוב אינטראקציות מורכבות בחלונית
עיצוב פעולות מתקדמות שמבוססות על משתמשים, כמו שינוי גודל דינמי של חלונית אפליקציה או התאמה של תצוגות לוח המחוונים על סמך תוכן התצוגה הראשית.
הגדרת Events מותאם אישית להפעלת Transitions ספציפי שאינו סטנדרטי במערכת.