תבניות ורכיבים

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

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

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

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

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

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

  • התנהגות הקו המפריד
    • כל הדפים בהגדרות השתנו בהתאם להתנהגות החדשה של ההפרדה.
    • התנהגות המחיצה מוגדרת כ-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

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

  • בורר האפליקציות המוגדר כברירת מחדל
    • הקוד של הכיתה הבסיסית נמצא כאן:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • יש כמה תת-מחלקות של DefaultAppPickerFragment, שכל אחת מהן מטמיעה כלי לבחירת כוונות שונות.
  • העדפת סגנון 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
  • צבע העיצוב של סרגל הפעולות. צריך להשתמש ב-Theme.DeviceDefault.Settings כנושא של פעילויות, או ליצור עיצוב מותאם אישית ולהשתמש ב-Theme.DeviceDefault.Settings כהורה.
  • ווידג'ט לכותרת האפליקציה. משתמשים במגדירים ב-AppHeaderController כדי להתאים אישית כל שדה וקריאה build() לאחר שכל השדות הוגדרו.
  • לחצן הרחבה:
    • כדי להשבית את הפונקציונליות לגמרי, בטלו את ה-constructor עבור ProgressiveDisclosureMixin ומגדירים את KeepExpanded כ-true.
    • כדי להתאים אישית את מספר הפריטים שיוצגו בהתחלה, אפשר להפעיל את השיטה ProgressiveDisclosureMixin.setTileLimit() במהלך המקטע onAttach(Context).