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

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

משך הקריאה: 2 דקות
צפייה בפרופיל של 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

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

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

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

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

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

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