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

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

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

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

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

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

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

  • אופן הפעולה של קו ההפרדה
    • כל הדפים בהגדרות השתנו בהתאם להתנהגות החדשה של ההפרדה.
    • פעולת המחיצה מוגדרת כ-ThemeOverlay במקומות הבאים:
      packages/apps/Settings/res/values/styles_preference.xml
  • שינוי העיצוב של סרגל הפעולות
    • כל הדפים בהגדרות שונו כך שישתמשו בעיצוב החדש של 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

הטמעה

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

התאמה אישית של תפריט ההגדרות

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