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

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

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

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

נכתב על ידי:

להמשך הקריאה