ב-Android 12 (רמת API 31) בוצע שיפוץ של Widgets API הקיים כדי לשפר את חוויית המשתמש והמפתחים בפלטפורמה ובמרכזי האפליקציות. במדריך הזה מוסבר איך לוודא שהווידג'ט שלכם תואם ל-Android 12, והוא משמש גם כחומר עזר בנושא ממשקי API לרענון הווידג'ט הקיים.
מוודאים שהווידג'ט תואם ל-Android 12
לווידג'טים ב-Android 12 יש פינות מעוגלות. כשמשתמשים בווידג'ט של אפליקציה במכשיר עם Android 12 ואילך, מרכז האפליקציות מזהה באופן אוטומטי את הרקע של הווידג'ט וחתוך אותו כך שהפינות שלו יהיו מעוגלות.
בתרחיש הזה, יכול להיות שהווידג'ט לא יוצג כמו שצריך באחד מהמקרים הבאים:
הווידג'ט מכיל תוכן בפינות: יכול להיות שחלק מהתוכן באזור הפינה ייחתך.
הווידג'ט משתמש ברקע שלא נחתך. האיסור הזה כולל רקע שקוף, תצוגות או פריסות ריקות או כל סוג אחר של רקע מיוחד שלא נוטה להיחתך. יכול להיות שהמערכת לא תוכל לזהות נכון את הרקע שבו צריך להשתמש.
אם הווידג'ט שלכם יושפע מהשינוי הזה, מומלץ לרענן אותו עם פינות מעוגלות (כפי שמתואר בקטע הבא) כדי לוודא שהוא מוצג בצורה תקינה.
שימוש בדוגמה
כדי לראות את כל ממשקי ה-API האלה בפעולה, אפשר לעיין בווידג'ט של רשימת דוגמאות.
הטמעה של פינות מעוגלות
ב-Android 12 נוספו פרמטרים של המערכת system_app_widget_background_radius
ו-system_app_widget_inner_radius
שמאפשרים להגדיר את הרדיוס של הפינות המעוגלות של הווידג'ט.

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


אפשרות פשוטה יותר להתאים אישית את הווידג'טים
אם מציינים פעילות של הגדרה באמצעות המאפיין configure
של appwidget-provider
, המארח של הווידג'ט של האפליקציה מפעיל את הפעילות הזו מיד אחרי שהמשתמש מוסיף את הווידג'ט למסך הבית.
ב-Android 12 הוספנו אפשרויות חדשות שיעזרו לכם לספק למשתמשים חוויית הגדרה טובה יותר. פרטים נוספים זמינים במאמר בנושא איך מאפשרים למשתמשים להגדיר ווידג'טים.
הוספת לחצנים מורכבים חדשים
ב-Android 12 נוספה תמיכה חדשה בהתנהגות עם שמירת מצב באמצעות הרכיבים הקיימים הבאים:
הווידג'ט עדיין חסר מצב. האפליקציה צריכה לשמור את המצב שלה ולהירשם לאירועים של שינוי מצב.

פרטים נוספים זמינים במאמר בנושא תמיכה בהתנהגות עם שמירת מצב.
שימוש בממשקי API משופרים לגדלים ולפריסות של ווידג'טים
החל מ-Android 12, אפשר להשתמש במאפייני גודל מדויקים יותר ובפריסות גמישות יותר. כדי לעשות זאת, צריך לציין אילוצים נוספים לגבי גודל הווידג'ט ולספק פריסות דינמיות ופריסות מדויקות.
פרטים נוספים זמינים במאמר בנושא הגדרת פריסות גמישות של ווידג'טים.
שיפור חוויית השימוש בכלי לבחירת הווידג'טים באפליקציה
ב-Android 12 אפשר לשפר את חוויית השימוש בכלי לבחירת הווידג'טים באפליקציה על ידי הוספה של תצוגות מקדימות דינמיות של הווידג'טים ותיאורים של הווידג'טים. פרטים נוספים זמינים במאמרים הוספת תצוגות מקדימות של ווידג'טים שניתן לשנות את הגודל שלהן לכלי לבחירת ווידג'טים והוספת תיאור לווידג'ט.
הפעלת מעברים חלקים יותר
החל מ-Android 12, אפליקציות מרכזיות מספקות מעבר חלק יותר כשמשתמש מפעיל את האפליקציה מווידג'ט. פרטים נוספים זמינים במאמר בנושא הפעלת מעברים חלקים יותר.
שימוש באוספים פשוטים של RemoteViews
ב-Android 12 נוספה השיטה
setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
שמאפשרת לאפליקציה להעביר אוסף ישירות בזמן אכלוס של
ListView
. בעבר, כשמשתמשים ב-ListView
, היה צריך להטמיע ולהצהיר על RemoteViewsService
כדי להחזיר את RemoteViewsFactory
.
פרטים נוספים זמינים במאמר בנושא שימוש באוספים של RemoteViews
.
שימוש בשינוי בזמן ריצה של RemoteViews
ב-Android 12 נוספו כמה שיטות RemoteViews
שמאפשרות שינוי בזמן ריצה של מאפייני RemoteViews
. RemoteViews
לרשימה המלאה של השיטות שנוספו
פרטים נוספים זמינים במאמר בנושא שימוש בשינוי בזמן ריצה של RemoteViews
.