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

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

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

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

נכתב על ידי:

להמשך הקריאה