דפוסים ורכיבים

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

להלן סיכום של שיפורים:

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

ווידג'טים חדשים:

  • יישומון כותרת לפרטי יישום. מציג סמל אפליקציה, תווית אפליקציה ומידע אחר.
  • כפתור הרחבה בחלק מהדפים. הדף יכול להתחיל כמכווץ ולהסתיר פריטים פחות חשובים עד שהמשתמש ילחץ על לחצן ההרחבה.
  • ממשק המשתמש של בוחר האפליקציות המוגדר כברירת מחדל:
    • ממשק המשתמש לבחירת דפדפן ברירת מחדל, אפליקציית ברירת מחדל לטלפון וכו'.
    • בעבר דו-שיח, כעת זהו ממשק משתמש מבוסס כפתורי רדיו במסך מלא.
  • העדפת סגנון "MasterSwitch". זוהי העדפה עם שני יעדי קליקים. יעד שמאלי מוביל לשבר או כוונה משנה של הגדרה. היעד הימני הוא מתג מתג, השולט על הפעלה/כיבוי עבור כל העמוד.

דוגמאות ומקור

  • התנהגות מפריד
    • כל הדפים בהגדרות משתנים לשימוש בהתנהגות המפריד החדשה.
    • התנהגות המפריד מוגדרת כ-ThemeOverlay ב:
      packages/apps/Settings/res/values/styles_preference.xml
  • שינוי נושא ActionBar
    • כל הדפים בהגדרות משתנים לשימוש בערכת הנושא החדשה של ActionBar.
    • הנושא מוגדר ב-Theme.DeviceDefault.Settings
  • פריסת העדפות חדשה
    • דפים רבים בהגדרות משתמשים כעת בפריסת ההעדפות החדשה.
    • אתה יכול למצוא את הקוד ב:
      packages/apps/Settings/res/values/styles_preference.xml
  • ווידג'ט כותרת אפליקציה
    • רוב דפי המידע על האפליקציה בהגדרות כבר מיישמים את כותרת האפליקציה החדשה.
    • דוגמאות וקוד ניתן למצוא ב:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • לחצן הרחבה
    • דוגמאות וקוד ניתן למצוא ב:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

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

  • בוחר אפליקציות ברירת מחדל
    • אתה יכול למצוא את הקוד למחלקה הבסיסית ב:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • ישנן מספר תת מחלקות של DefaultAppPickerFragment, כל אחת מיישמת בוחר למטרות שונות.
  • העדפת סגנון MasterSwitch
    • הקוד נמצא בכתובת: https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • מקרה שימוש לדוגמה הוא מתג Wi-Fi ראשי. תוכל למצוא דוגמה בכתובת: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

יישום

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

התאמה אישית

  • התנהגות מפריד. כדי לשנות את אופן הציור של המחיצה, עדכן את הסגנון עבור מחיצות ההגדרות ושנה את הערך עבור הדברים הבאים:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • צבע ערכת נושא של ActionBar. פעילויות צריכות להשתמש Theme.DeviceDefault.Settings כנושא שלהן, או ליצור ערכת נושא מותאמת אישית באמצעות Theme.DeviceDefault.Settings כהורה.
  • ווידג'ט כותרת אפליקציה. השתמש בהגדרות ב-AppHeaderController כדי להתאים אישית כל שדה ולהתקשר ל-build() ברגע שכל השדות מוגדרים.
  • לחצן הרחבה:
    • כדי להשבית את הפונקציונליות באופן מלא, דחוף את הבנאי עבור ProgressiveDisclosureMixin והגדר את keepExpanded ל-true.
    • כדי להתאים אישית את מספר הפריטים שיוצגו בהתחלה, קרא למתודה ProgressiveDisclosureMixin.setTileLimit() במהלך שיטת onAttach(Context) של fragment.