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

‫Material 3 Adaptive 1.2.0 יציב

משך הקריאה: דקה אחת
צפייה בפרופיל של Rob Orgiu
Rob Orgiu מהנדס/ת ליחסי מפתחים

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

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

מה חדש ב-Material 3 Adaptive 1.2.0

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

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

newwindow.png


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

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

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

אסטרטגיות חדשות של התאמה: סידור מחדש והזזה

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

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

material.jpg

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

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


 

material2.jpg

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

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

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


 

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

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