חדשות על מוצרים

גרסה 1.5 של Jetpack WindowManager יציבה

3 דקות קריאה
הצגת הפרופיל של Francesco Romano
Francesco Romano מהנדס/ת קשרי מפתחים, Android

אנחנו שמחים להודיע שגרסה Jetpack WindowManager 1.5.0 יציבה עכשיו!

הגרסה הזו מבוססת על היכולת הגבוהה של WindowManager להתאמה, ומאפשרת ליצור בקלות רבה יותר ממשקי משתמש מלוטשים ודינמיים שנראים נהדר בכל גדלי המסכים. הסביבה העסקית של Android ממשיכה לצמוח, והמשתמשים מפעילים אפליקציות במגוון רחב יותר של מכשירים מאי פעם: מטלפונים ומכשירים מתקפלים ועד טאבלטים, מסכים מחוברים, מכשירי Chromebook ואפילו מסכים ברכב במצב חניה.

ב-WindowManager 1.5 התמקדנו במתן כלים טובים יותר לסביבת המכשירים המגוונת הזו.

מה חדש ב-WindowManager 1.5

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

סיווגים חדשים של גדלי חלונות: גדול וגדול מאוד

העדכון הכי משמעותי בגרסה 1.5 הוא הוספה של שתי קטגוריות חדשות של גודל חלון ברוחב: Large (גדול) ו-Extra-large (גדול במיוחד).

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

אלה נקודות הרוחב החדשות:

  • גדול: לרוחבים בין 1,200dp ל-1,600dp
  • גדול במיוחד: לרוחבים של ‎≥1600dp
window_size_classes_width.png

הסיווגים השונים של גודל החלון על סמך רוחב התצוגה. 

למה זה חשוב?

החל מ-Android 16 QPR1 Beta 2, ‏ Android תומך במסכים מחוברים, ומאפשר למשתמשים לחבר מסך חיצוני למכשיר ולהפוך אותו לכלי דמוי מחשב עם מסך גדול.

ADB_5350_asset.gif

טלפון שמחובר למסך חיצוני, עם סשן של ממשק מחשב במסך החיצוני. 

עכשיו כשהתכונה החדשה הזו זמינה, חשוב לספק הנחיות מבוססות-דעות לגבי הכללה של תצוגות גדולות יותר. 

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

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

אפשר לחשב את סיווגי גודל החלון באמצעות computeWindowSizeClass()‎, שהיא פונקציית הרחבה של ספריית androidx.window.core.layout שמרחיבה את הסוג Set<WindowSizeClass>

כדי לכלול את הסיווגים החדשים של גודל החלון בפרויקט, פשוט קוראים לפונקציה מהקבוצה WindowSizeClass.BREAKPOINTS_V2 במקום WindowSizeClass.BREAKPOINTS_V1:

val currentWindowMetrics =

    WindowMetricsCalculator.getOrCreate()

    .computeCurrentWindowMetrics(LocalContext.current)


val sizeClass = WindowSizeClass.BREAKPOINTS_V2

    .computeWindowSizeClass(currentWindowMetrics)


אחר כך, כשבטוחים שיש לאפליקציה לפחות את המקום הזה, מחילים את הפריסה הנכונה:

if(sizeClass.isWidthAtLeastBreakpoint(

    WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){

    ...

    // window is at least 1200 dp wide


}

ספריות מותאמות

ספריית Compose Material 3 Adaptive עוזרת לכם ליצור ממשקי משתמש אדפטיביים שמותאמים אוטומטית לתצורות החלון הנוכחיות, כמו מחלקות גודל החלון או מצבי המכשיר. 

החדשות הטובות הן שהספרייה כבר מעודכנת עם נקודות עצירה חדשות. החל מגרסה 1.2 (שנמצאת כרגע בשלב Release Candidate), פונקציות ברירת המחדל של הנחיית ה-scaffold של החלונית תומכות ברוחב חלון גדול וגדול במיוחד.

כדי להפעיל את התכונה, צריך להצהיר בקובץ ה-build של Gradle שרוצים להשתמש בנקודות העצירה החדשות:

currentWindowAdaptiveInfo(

    supportLargeAndXLargeWidth = true)

שיפורים נוספים

  • הטמעה של פעילות – שמירה ושחזור אוטומטיים: מעכשיו, WindowManager יכול לשמור ולשחזר באופן אוטומטי את המצב של פיצולי הטמעת הפעילות. כך ניתן לשמור על הפריסה של המשתמשים גם אחרי יצירה מחדש של התהליך, מה שמוביל לחוויה יציבה ועקבית יותר. המפתחים לא צריכים יותר לשמור ולשחזר את המצב באופן ידני, אלא יכולים פשוט להפעיל את השמירה האוטומטית על ידי הגדרת המאפיין EmbeddingConfiguration#isAutoSaveEmbeddingState.
  • הרחבת WindowMetrics: עכשיו אפשר לחשב WindowMetrics מהקשר של Application, ולא רק מהקשר של Activity. כך יש לכם יותר גמישות בגישה למידע על חלונות מחלקים שונים באפליקציה.

איך מתחילים

כדי להתחיל להשתמש בשיעורי הגודל החדשים Large ו-Extra-large ובתכונות אחרות של גרסה 1.5 בפרויקטים של Android, צריך לעדכן את יחסי התלות של האפליקציה ב-build.gradle.kts לגרסה היציבה האחרונה:

dependencies {
    implementation("androidx.window:window:1.5.0") 

    // or, if you're using the WindowManager testing library:

    testImplementation("androidx.window:window-testing:1.5.0")

}

‫WindowManager 1.5 הוא עוד צעד קדימה ליצירת אפליקציות מותאמות באופן מלא שפועלות במגוון גורמי צורה של Android. הרשימה המלאה של השינויים ותיקוני הבאגים מופיעה בנתוני הגרסה הרשמיים.

שיהיה בהצלחה!

נכתב על ידי:
המשך קריאה