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

ב-Android 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, כל אחת מהן מטמיעה בורר ל-Intent שונה.
  • העדפת הסגנון של MasterSwitch
    • הקוד נמצא בכתובת: https://cs.android.com/android/platform/superproject/main/+/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 בתור הורה.
  • ווידג'ט של כותרת האפליקציה. משתמשים ב-setters ב-AppHeaderController כדי להתאים אישית כל שדה ולקרוא ל-build() אחרי שמגדירים את כל השדות.
  • לחצן ההרחבה:
    • כדי להשבית את הפונקציונליות לגמרי, משנים את ה-constructor של ProgressiveDisclosureMixin ומגדירים את keepExpanded כ-true.
    • כדי להתאים אישית את מספר הפריטים שיוצגו בהתחלה, צריך להפעיל את השיטה ProgressiveDisclosureMixin.setTileLimit() במהלך השיטה onAttach(Context) של החלק.