אנדרואיד 12 מציגה עיצוב חלונית כפולה , עם תפריט L0 סטטי בצד שמאל וחלונית תוכן בצד ימין. תכונה זו מציגה אפשרויות התאמה אישית רבות חדשות. דף זה מפרט את התכונות הללו ומסביר כיצד תוכל להתאים אישית את ההעדפות שלך.
חזור לחלונית יחידה
כברירת מחדל, CarSettings מציגה כעת את תצוגת החלונית הכפולה כאשר חלון האפליקציה גדול או שווה ל-1400dp ברוחב ותצוגת החלונית הבודדת אחרת. כדי להתאים אישית זאת עבור מכשיר ספציפי, השתמש בשכבת-על משאבי זמן ריצה (RRO) כדי למקד את ערכי התצורה הדרושים:
ערך | תיאור |
---|---|
config_global_force_single_pane | הגדר כ- true אם האפליקציה כולה אמורה לפעול בתצורה של חלונית אחת. |
config_homepage_fragment_class | מציין את קטע ההתחלה עבור דף הבית. בחלונית כפולה, זה משמש עבור הפרגמנט הראשוני בחלונית התוכן. בחלונית אחת, זה צריך להיות קטע דף הבית. |
מקשי כותרת
מכיוון שלפעילויות שונות של CarSettings יכול להיות IA מותאם אישית, מיפוי מפתח כותרת מסופק כדי לפשט התאמות אישיות. ב- AndroidManifest.xml
, לכל פעילות שתומכת בחלונית כפולה יש TOP_LEVEL_HEADER_KEY
שצוין במטא נתונים שלה. ערך זה מצביע על מפתח שצוין ב- res/values/header_keys.xml
, אשר ממופה למפתח ההעדפה של פריט התפריט ברמה העליונה תחתיו נופל הפרגמנט ההתחלתי. לכן, אם הפרגמנט ההתחלתי של פעילות משתנה או ה-IA מסודר מחדש כך שמקטע מסוים נופל תחת העדפה אחרת ברמה העליונה, ניתן לעדכן את המיפוי/ים הרלוונטיים בקובץ header_keys.xml
כדי לציין את הערך הנכון .
התאם אישית את פריסת הפעילות
הפריסה של BaseCarSettingsActivity
ממוקמת ב- res/layout/car_setting_activity
ובסעיפים הבאים:
ערך | תיאור |
---|---|
top_level_menu | קטע תפריט ברמה העליונה מוצג בתצורות של חלונית כפולה. הרוחב של קטע זה מצוין על ידי top_level_menu_width . פריסת בסיס מארז (עם סרגל כלים) מוקפת סביב תצוגה זו. |
top_level_divider | קו אנכי שמפצל את שתי החלוניות ואת רוחבו ניתן להתאים אישית עם top_level_divider_width . |
fragment_container_wrapper | פריסת גלישה עבור חלונית התוכן (או החלונית הראשית בתצורת חלונית יחידה). פריסת בסיס מארז (עם סרגל כלים) מוקפת סביב תצוגה זו. |
settings_focus_parking_view | הטמעה מותאמת אישית של FocusParkingView כדי להחזיק פוקוס סיבובי בעת הצורך. |
fragment_container | מיכל תוכן ראשי. קטעי תוכן משתמשים בזה בתור פריסת היעד. |
restricted_message | תצוגת חסימה מוגבלת ל-UX שתוצג במופעים של BaseFragment . |
איור 1. פריסת חלונית כפולה
העדפות ברמה העליונה
העדפות ברמה העליונה הן CarUiPreferences מותאמות אישית עם פריסה ששונתה מעט כדי לשנות את גובה ההעדפה וצורת הרקע. ישנן דרכים רבות ושונות להתאים אישית את המראה של העדפות אלה:
ערך | תיאור |
---|---|
res/layout/top_level_preference.xml | שכבה על כל פריסת ההעדפות. |
top_level_preference_min_height | גובה מינימלי של העדפה ברמה העליונה. בהתאם לתוכן (לדוגמה, קיימת כתובית), ההעדפות עשויות להיות גבוהות מהערך הזה. |
top_level_preference_corner_radius | רדיוס עיגול הפינה. |
top_level_preference_background | רקע של העדפות ברמה העליונה כאשר אינן מודגשות כעת. |
top_level_preference_highlight | רקע של העדפות ברמה העליונה כשהם מודגשים. |
סמלים ברמה העליונה
איור 2 ממחיש כיצד הסמלים ברמה העליונה מורכבים כעת מאייקון וקטור בתוך צורת רקע צבעונית. צורה זו מוגדרת כעת לתמוך בצורת אליפסה או צורה מלבנית. כברירת מחדל, הצורה מוגדרת לסגלגל.
כדי לשנות את ברירת המחדל, שנה את הערך ב- config_top_level_icon_shape
(כאשר 0 הוא מלבן ו-1 הוא סגלגל). הסמלים נוצרים על ידי הכנסת סמל החזית על ידי top_level_foreground_icon_inset
מצורת הרקע. לכל סמל ברמה העליונה יש צבע קדמה שצוין ב- res/values/colors.xml
וצבע רקע שצוין בתיקיית res/color
.
כדי ליצור מראה מותאם אישית, תוכל לעקוף את כל ערכי הצבע.
איור 2. רכיבי העדפה ברמה העליונה
סמלים להעדפות שהוזרקו שנכללות בקטגוריות המצוינות על ידי config_top_level_injection_categories
מטופלים גם כסמלים ברמה העליונה. הסמלים שסופקו מוכנסים באותו ערך ובאותה צורה כפי שצוין עבור כל הסמלים האחרים ברמה העליונה (ראה למעלה). עם זאת, הרקע נקבע על ידי הסתכלות על התכונות הבאות בסדר זה:
-
com.android.settings.bg.argb
מטא נתונים מאפליקציית ההזרקה. -
com.android.settings.bg.hint
מטא נתונים מאפליקציית ההזרקה. -
top_level_injected_default_background
צוין ב-res/values/colors.xml
.
כדי להתעלם מנתוני האפליקציה המזריקים ולהשתמש תמיד ברקע ברירת המחדל, הגדר את config_top_level_injection_background_always_use_default
ל- true
.