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

‫Material 3 Adaptive 1.2.0 יציב

משך הקריאה: 2 דקות
Rob Orgiu
מהנדס יחסי מפתחים

אנחנו שמחים להודיע שגרסה 1.2.0 של Material 3 Adaptive יציבה עכשיו!

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

מה חדש ב-Material 3 Adaptive 1.2.0

הגרסה היציבה הזו מבוססת על תמיכה ב-WindowManager 1.5.0 לנקודות עצירה גדולות וגדולות במיוחד, וכוללת את האסטרטגיות החדשות של סידור מחדש והזזה של ListDetailPaneScaffold ו-SupportingPaneScaffold

סיווגים חדשים של גודל החלון: גדול וגדול מאוד

newwindow.png


ב-WindowManager 1.5.0 הוספנו שני נקודות עצירה חדשות לרוחב של חלון בגודל מסוים, כדי לתמוך בחלונות גדולים יותר מאלה שמוגדרים כחלונות בגודל 'מורחב'. אפשר להפעיל את נקודות עצירה גדולות (L) וגדולות במיוחד (XL) על ידי הוספת הפרמטר הבא לקריאה currentWindowAdaptiveInfo() בבסיס הקוד:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

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

אסטרטגיות חדשות של התאמה: שינוי מיקום וריחוף

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

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

material.jpg

שינוי הפריסה של חלונית בהתאם לגודל החלון

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


 

material2.jpg

הזזת חלונית מהצד למרכז על סמך יחס הגובה-רוחב

אפשר להצהיר על אסטרטגיות של זרימה ושל ריחוף בתוך ה-constructor Navigator באמצעות הפרמטר adaptStrategies, ואפשר להחיל את שתי האסטרטגיות על רשימה ופירוט ועל חלונית תומכת scaffolds:

val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>(
        adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies(
            detailPaneAdaptStrategy = AdaptStrategy.Reflow(
                reflowUnder = ListDetailPaneScaffoldRole.List
            ),
            extraPaneAdaptStrategy = AdaptStrategy.Levitate(
                alignment = Alignment.Center
            )
        )
    )


 

מידע נוסף על השימוש בשיטות החדשות האלה מופיע באתר Material ובקוד לדוגמה המלא ב-GitHub.

נכתב על ידי:

להמשך הקריאה