חדשות על המוצר

‫Jetpack WindowManager 1.5 יציב

משך הקריאה: 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.

מחלקות של גודל חלון הן קבוצה רשמית ומוגדרת של נקודות עצירה של אזור התצוגה, שעוזרות לכם לעצב ולפתח פריסות מותאמות. בגרסה 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 (עכשיו בשלב גרסה מועמדת להפצה), פונקציות ברירת המחדל של הוראות הפיגום של החלונית תומכות במחלקות של גודל רוחב חלון גדול וגדול מאוד.

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

currentWindowAdaptiveInfo(

    supportLargeAndXLargeWidth = true)

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

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

איך מתחילים

כדי להתחיל להשתמש בקטגוריות הגודל החדשות "גדול" ו"גדול מאוד" ובתכונות אחרות של גרסה 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. כדי לראות את הרשימה המלאה של השינויים ותיקוני הבאגים, אפשר לעיין בנתוני הגרסה הרשמיים.

בהצלחה!

כותב/ת המסמך:
להמשך קריאה