הרכבת החומר

בניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבים מוכנים לשימוש ב-Material Design. זו נקודת הכניסה ברמה הגבוהה יותר של 'כתיבה', שנועדה לספק רכיבים שתואמים לאלה שמתוארים באתר www.material.io.
העדכון האחרון גרסה יציבה מועמד לגרסה גרסת בטא גרסת אלפא
24 ביולי 2024 1.6.8 - 1.7.0-beta06 -

מבנה

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

בטבלה הזו מוסבר על הקבוצות והקישורים לכל קבוצה של נתוני גרסה.

קיבוץתיאור
compose.animationיוצרים אנימציות באפליקציות 'Jetpack פיתוח נייטיב' כדי להעשיר את חוויית המשתמש.
compose.compilerשינוי פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין מהדר של Kotlin.
compose.foundationכתיבת אפליקציות ב-Jetpack פיתוח נייטיב עם אבני בניין מוכנות לשימוש והרחבת היסודות לבניית חלקים משלכם במערכת העיצוב.
compose.materialבניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבים מוכנים לשימוש ב-Material Design. זו נקודת הכניסה ברמה הגבוהה יותר של 'כתיבה', שנועדה לספק רכיבים שתואמים לאלה שמתוארים באתר www.material.io.
compose.material3בניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבי Material Design 3, הפיתוח הבא של עיצוב Material Design. Material 3 כולל עיצוב ורכיבים מעודכנים ותכונות התאמה אישית של Material You, כמו צבעים דינמיים, ונועד להיות אחיד עם הסגנון החזותי החדש של Android 12 וממשק המשתמש של המערכת.
compose.runtimeאבני הבניין הבסיסיות של מודל התכנות וניהול המצבים של Compose, ושל זמן הריצה העיקרי של הפלאגין Compose Compiler לטירגוט.
compose.uiרכיבים בסיסיים בממשק המשתמש של הרכבה שנדרשים לאינטראקציה עם המכשיר, כולל פריסה, שרטוט וקלט.

הצהרה על יחסי תלות

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

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

מגניב

dependencies {
    implementation "androidx.compose.material:material:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material:material:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.

משוב

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

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.7

גרסה 1.7.0-beta06

24 ביולי 2024

androidx.compose.material:material-*:1.7.0-beta06 משוחרר. גרסה 1.7.0-beta06 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta05

10 ביולי 2024

androidx.compose.material:material-*:1.7.0-beta05 משוחרר. גרסה 1.7.0-beta05 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta04

26 ביוני 2024

androidx.compose.material:material-*:1.7.0-beta04 משוחרר. גרסה 1.7.0-beta04 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta03

12 ביוני 2024

androidx.compose.material:material-*:1.7.0-beta03 משוחרר. גרסה 1.7.0-beta03 כוללת את ההתחייבויות האלה.

גרסה 1.7.0-beta02

29 במאי 2024

androidx.compose.material:material-*:1.7.0-beta02 משוחרר. גרסה 1.7.0-beta02 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • עדכון API לעיצוב הקישורים: השדה TextLinkStyles הועבר ל-TextStyle והסיר את TextDefaults מהחומר (I5477b)

גרסה 1.7.0-beta01

14 במאי 2024

androidx.compose.material:material-*:1.7.0-beta01 משוחרר. גרסה 1.7.0-beta01 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • ה-API עודכן לקבלת קישורים מעוצבים ב-Material ב-Text. באופן ספציפי, הסרנו את השיטות מ-TextDefaults לבניית LinkAnnotations בנושא מסוים ולניתוח HTML עם קישורים מעוצבים. במקום זאת, הוספנו מחלקה TextLinkStyles שמאפשרת לעצב את הקישורים כפרמטר לתוכן הקומפוזבילי של טקסט. (I31b93)

גרסה 1.7.0-alpha08

1 במאי 2024

androidx.compose.material:material-*:1.7.0-alpha08 משוחרר. גרסה 1.7.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • צריך לתקן את הבעיה backgroundColor שלא חלה על TextFieldDecorationBox ועל OutlinedTextFieldDecorationBox. תיבות עיצוב מקבלות עכשיו את הפרמטר shape. (I371c2, b/307694651)
  • השדה RippleConfiguration#isEnabled הוסר והתפקיד LocalRippleConfiguration הוגדר כ-null. כדי להשבית גלים, במקום לספק RippleConfiguration עם isEnabled = false, צריך לספק null ל-LocalRippleConfiguration. (I22725)
  • בקישורי טקסט יש אפשרות עיצוב במצב לחוץ בנוסף לעיצוב הרגיל, כשמעבירים את העכבר מעל התמונה ובהתמקדות. ל-TextDefaults method יש ארגומנט pressedStyle שיתמוך בכך. (Ic473f, b/139312671)

תיקוני באגים

  • המרווח הפנימי העליון של התווית OutlinedTextField מביא עכשיו בחשבון את גודל הגופן של המערכת. (Idc781)

גרסה 1.7.0-alpha07

17 באפריל 2024

androidx.compose.material:material-*:1.7.0-alpha07 משוחרר. גרסה 1.7.0-alpha07 מכילה את התחייבויות אלה.

שינויים ב-API

  • בוצעה לחיצה על האפשרות של עיצוב מצב בקישורי טקסט בנוסף לעיצוב הרגיל, העברת העכבר מעל והתמקדות. (I5f864, b/139312671)
  • נוסף אובייקט TextDefaults שמכיל methods ליצירת LinkAnnotation ולניתוח מחרוזת מתויגת ב-HTML שמחילה את MaterialTheme על הקישורים. (I98532, b/139312671)

גרסה 1.7.0-alpha06

3 באפריל 2024

androidx.compose.material:material-*:1.7.0-alpha06 משוחרר. גרסה 1.7.0-alpha06 מכילה את התחייבויות אלה.

עדכון

  • androidx.compose.material כבר לא מחייב שימוש באותה גרסה של כל פריט מידע שנוצר בתהליך הפיתוח (Artifact) הוא קבוצת Maven הזו. המשתמשים יכולים לשלב ולהתאים גרסאות של ספריות בסיסיות של כתיבת שורות (Ie5fba)

שינויים ב-API

  • ברירות המחדל של ModalDrawer ו-BottomDrawer נוספות הועברו לאובייקט DrawerDefaults. (Ib5b2e)

גרסה 1.7.0-alpha05

20 במרץ 2024

androidx.compose.material:material-*:1.7.0-alpha05 משוחרר. גרסה 1.7.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • הדגל ScaffoldSubcomposeInMeasureFix הוסר. (I67363)

גרסה 1.7.0-alpha04

6 במרץ 2024

androidx.compose.material:material-*:1.7.0-alpha04 משוחרר. גרסה 1.7.0-alpha04 מכילה את התחייבויות אלה.

תכונות חדשות

גרסה 1.7.0-alpha03

21 בפברואר 2024

androidx.compose.material:material-*:1.7.0-alpha03 משוחרר. גרסה 1.7.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • BottomDrawer קודמה מניסיוני ליציב. עכשיו הפונקציה BottomDrawerState חושפת את ההתקדמות כפונקציה, ומאפשרת להריץ שאילתות בין יעדים ספציפיים. עכשיו אפשר להתאים אישית את מפרט האנימציה ב-BottomDrawerState, ו-confirmStateChange כבר לא - lambda בסוף. (I9c029, b/261423850)
  • BackdropScaffold קודמה מניסיוני ליציב. מפרט האנימציה הוא עכשיו מפרט tween בהתאם להנחיות. הפרמטר snackbarHost של BackdropScaffold כבר לא הפרמטר האחרון כדי למנוע בלבול עם תגי lambdas בסוף. BackdropScaffoldState חושף API של progress(from, to) להתקדמות של שאילתות בין עוגנים. (I73f48, b/261423218)
  • גיליונות תחתון רגילים קודמו מניסוי ניסיוני ליציב. הוסרו מבנים שהוצאו משימוש. מפרט האנימציה הוא עכשיו מפרט של גיל עשרה בהתאם להנחיות. (I3c1a8, b/278692145, b/261409034)
  • גיליונות תחתית מודליים קודמו מניסוי ניסיוני ליציב. הוסרו מבנים שהוצאו משימוש. מפרט האנימציה הוא עכשיו מפרט tween בהתאם להנחיות. (Ic53f4, b/278692145, b/266780235, b/261409034)

תיקוני באגים

  • תוקנה בעיה שבה BackdropScaffold עלול לקרוס בתרחישים ספציפיים בשילוב עם LookaheadScope. I51396
  • הרכב המשנה הוסר בתוך BottomSheetScaffold כדי לשפר את הביצועים. תוקנה בעיה שבה BottomSheetScaffold קרס בתרחישים ספציפיים בשילוב עם LookaheadScope. (I2f90c)
  • הרכב המשנה הוסר בתוך ModalBottomSheetLayout, מה שמשפר את הביצועים. (I7a025)

גרסה 1.7.0-alpha02

7 בפברואר 2024

androidx.compose.material:material-*:1.7.0-alpha02 משוחרר. גרסה 1.7.0-alpha02 מכילה את התחייבויות אלה.

גרסה 1.7.0-alpha01

24 בינואר 2024

androidx.compose.material:material-*:1.7.0-alpha01 משוחרר. גרסה 1.7.0-alpha01 מכילה את התחייבויות אלה.

שינויים בהתנהגות

  • רכיבי החומר הועברו לשימוש בממשקי ה-API החדשים של Ripple, וכבר לא מתקבלות שאילתות על RippleTheme.

שינויים ב-API

  • rememberRipple ו-RippleTheme הוצאו משימוש מתוך 'גלים מהותיים', עם 'גלים חדשים' וממשקי API של RippleConfiguration נוספו לספריות חומר ולספריות אחרות של מערכות עיצוב.

  • רכיבי תוכן שקיבלו בעבר MutableInteractionSource ובחרו כברירת מחדל לזכור את הערך { MutableInteractionSource() }, מקבלים עכשיו MutableInteractionSource עם ערך null ובמקום זאת הם null. אם לא מתבצעת עלייה ומשתמשים ב-MutableInteractionSource, צריך להעביר ערך null. כך חלק מהרכיבים יכולים ליצור מכונה באופן הדרגתי רק במקרה הצורך, ולשפר את הביצועים. מומלץ גם לבצע שינויים דומים ברכיבים שלכם.

גרסה 1.6

גרסה 1.6.8

12 ביוני 2024

androidx.compose.material:material-*:1.6.8 משוחרר. גרסה 1.6.8 כוללת את ההתחייבויות האלה.

גרסה 1.6.7

1 במאי 2024

androidx.compose.material:material-*:1.6.7 משוחרר. גרסה 1.6.7 כוללת את ההתחייבויות האלה.

גרסה 1.6.6

17 באפריל 2024

androidx.compose.material:material-*:1.6.6 משוחרר. לא בוצעו שינויים מאז הגרסה האחרונה.

גרסה 1.6.5

3 באפריל 2024

androidx.compose.material:material-*:1.6.5 משוחרר. גרסה 1.6.5 כוללת את ההתחייבויות האלה.

גרסה 1.6.4

20 במרץ 2024

androidx.compose.material:material-*:1.6.4 משוחרר. גרסה 1.6.4 כוללת את ההתחייבויות האלה.

גרסה 1.6.3

6 במרץ 2024

androidx.compose.material:material-*:1.6.3 משוחרר. גרסה 1.6.3 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • אפשר לתקן את הרגרסיה בקובץ ExposedDropdownMenu כדי שניתן יהיה להתמקד בו שוב. (c0e0ed, b/323694447)

גרסה 1.6.2

21 בפברואר 2024

androidx.compose.material:material-*:1.6.2 משוחרר. גרסה 1.6.2 כוללת את ההתחייבויות האלה.

גרסה 1.6.1

7 בפברואר 2024

androidx.compose.material:material-*:1.6.1 משוחרר. גרסה 1.6.1 כוללת את ההתחייבויות האלה.

גרסה 1.6.0

24 בינואר 2024

androidx.compose.material:material-*:1.6.0 משוחרר. גרסה 1.6.0 כוללת את ההתחייבויות האלה.

גרסה 1.6.0-rc01

10 בינואר 2024

androidx.compose.material:material-*:1.6.0-rc01 משוחרר. גרסה 1.6.0-rc01 מכילה את שמירות האלה.

גרסה 1.6.0-beta03

13 בדצמבר 2023

androidx.compose.material:material-*:1.6.0-beta03 משוחרר. גרסה 1.6.0-beta03 מכילה את התחייבויות אלה.

גרסה 1.6.0-beta02

29 בנובמבר 2023

androidx.compose.material:material-*:1.6.0-beta02 משוחרר. גרסה 1.6.0-beta02 מכילה את התחייבויות אלה.

גרסה 1.6.0-beta01

15 בנובמבר 2023

androidx.compose.material:material-*:1.6.0-beta01 משוחרר. גרסה 1.6.0-beta01 מכילה את התחייבויות אלה.

גרסה 1.6.0-alpha08

18 באוקטובר 2023

androidx.compose.material:material-*:1.6.0-alpha08 משוחרר. גרסה 1.6.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • מוציאים משימוש של פונקציית materialIcon לטובת עומס יתר שלה שמקבל פרמטר autoMirror. (Ia338d)

תיקוני באגים - הגדלה אוטומטית של גובה פריט הניווט לתוכן גדול. (0c4ecc, b/272336962)

גרסה 1.6.0-alpha07

4 באוקטובר 2023

androidx.compose.material:material-*:1.6.0-alpha07 משוחרר. גרסה 1.6.0-alpha07 מכילה את התחייבויות אלה.

  • עדכונים בנושא תלות

גרסה 1.6.0-alpha06

20 בספטמבר 2023

androidx.compose.material:material-*:1.6.0-alpha06 משוחרר. גרסה 1.6.0-alpha06 מכילה את התחייבויות אלה.

שינוי הגורם לשיבושים בהתנהגות

  • הוסרה פונקציונליות שקשורה לחלונית ההזזה מ-BottomSheetScaffold. אפשר לעטוף את BottomSheetScaffold באחסון קומפוזבילי עם 'מגירה' כדי להשיג את הפונקציונליות הקודמת. אפשר לראות דוגמה לכך בכתובת BottomSheetScaffoldWithDrawerSample. (I1dcc8)

שינויים ב-API

  • הוספנו סימון זמני כדי לקבוע אם צריך למדוד את הצאצאים של Scaffold במהלך המדידה או במהלך ההצבה. כברירת מחדל, המדד הזה יימדד במדידה. אם נתקלת בבעיות שקשורות להתנהגות החדשה, אפשר לדווח על בעיה. (If6e3b)

גרסה 1.6.0-alpha05

6 בספטמבר 2023

androidx.compose.material:material-*:1.6.0-alpha05 משוחרר. גרסה 1.6.0-alpha05 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספה תמיכה בסמלים שמסונכרנים אוטומטית כשהמערכת מעבדת אותם בפריסות מימין לשמאל. סמלים במודולים המורחבים של סמלי חומר וסמלי חומר מספקים עכשיו קבוצות סמלים נוספות לתמיכה בשיקוף אוטומטי כשהסמל מאפשר זאת. התחילית של הקבוצות החדשות היא Icons.AutoMirrored.Filled... וכו', ומכילים סמלים שישקפו באופן אוטומטי בפריסות RTL. ברשימת הסמלים של Material מופיעה רשימה של סמלים שאפשר (וצריכים) לשקף באופן אוטומטי.

שינויים ב-API

  • נוספה תמיכה בסמלים שמסונכרנים אוטומטית כשהמערכת מעבדת אותם בפריסות מימין לשמאל. סמלים במודולים המורחבים של סמלי חומר וסמלי חומר מספקים עכשיו קבוצות סמלים נוספות לתמיכה בשיקוף אוטומטי כשהסמל מאפשר זאת. התחילית של הקבוצות החדשות היא Icons.AutoMirrored.Filled... וכו', ומכילים סמלים שישקפו באופן אוטומטי בפריסות RTL. ברשימת הסמלים של Material מופיעה רשימה של סמלים שאפשר (וצריכים) לשקף באופן אוטומטי. מאפייני הסמלים שצוינו בעבר עבור הסמלים האלה מסומנים עכשיו כ'הוצא משימוש', ומציעים הצעה לבלוק חלופי כדי לעזור בהעברה. אם אין טיפול מיוחד לשיקוף סמלים ב-RTL, מומלץ לעבור לקבוצת הסמלים החדשה. לדוגמה, צריך לארגן מחדש את הקוד Icons.Filled.ArrowBack ל-Icons.AutoMirrored.Filled.ArrowBack. (I4b511)

גרסה 1.6.0-alpha04

23 באוגוסט 2023

androidx.compose.material:material-*:1.6.0-alpha04 משוחרר. גרסה 1.6.0-alpha04 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה בעיה שבה רכיבים מסוימים שמשתמשים ב-Subcomposition (למשל BottomSheetScaffold) בתוך פיום בתוך LookaheadScope ניסו לקרוא את הגודל שלהם מוקדם מדי. (If2c5d)
  • בוצע תיקון של חישוב offset של DropdownMenu, כך שהקיזוזים של x תלויים אך ורק בכיוון הפריסה המקומי, והקיזוזים של y לא יבוטלו יותר כשהתפריט נמצא קרוב לתחתית המסך. (Iccc74, b/294103942)
  • בוצעה אופטימיזציה של הפריסה הפנימית של BottomSheetScaffold ופתרון בעיה פוטנציאלית עם BottomSheetScaffold בתוך LookaheadLayout. (Ic0afa)

גרסה 1.6.0-alpha03

9 באוגוסט 2023

androidx.compose.material:material-*:1.6.0-alpha03 משוחרר. גרסה 1.6.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • לרכיבי Material2 יש עכשיו API נפרד כדי להעביר את windowInsets לתמיכה בפונקציונליות מקצה לקצה ב-Android. בניגוד לרכיבי condition3, רכיבי חומר 2 לא תומכים ב-insets כברירת מחדל וצריך להעביר את הערך באופן ידני. יש לעיין בדוגמאות המתאימות לקבלת הנחיות. (I655e8)

גרסה 1.6.0-alpha02

26 ביולי 2023

androidx.compose.material:material-*:1.6.0-alpha02 משוחרר. גרסה 1.6.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • אנחנו מעבירים את התלות בצפיפות לרמת הרכיב. האפשרות הזאת רלוונטית לרכיבים הבאים: SwipeToDismiss ורכיבים מבוססי גיליון. צריך להשתמש בעומס-היתר החדש שמסופק כאשר הצפיפות היא פרמטר. (I1846e)
  • הערות נוספות שמציינות ערכי קלט מותרים לתכנים קומפוזביליים (I51109)
  • קובצי API מעודכנים כדי להוסיף הערות על ביטול תאימות (I8e87a, b/287516207)
  • נוסף יישור התחלה חדש עבור FabPosition (Ib7aea, b/170592777)
  • ההוראה TextFieldColorsWithIcons ב-Material 2 הוצאה משימוש לטובת TextFieldColors. כשמבטלים leadingIconColor או trailingIconColor, צריך לעקוף גם את עומס היתר באמצעות interactionSource. (Id57ed, b/199377790)

גרסה 1.6.0-alpha01

21 ביוני 2023

androidx.compose.material:material-*:1.6.0-alpha01 משוחרר. גרסה 1.6.0-alpha01 מכילה את התחייבויות אלה.

שינויים בהתנהגות

  • includeFontPadding נקראת עכשיו false כברירת מחדל בטיפוגרפיה של חומר 2. גם סגנון ברירת המחדל של גובה השורה השתנה ל-Trim.None ול-Alignment.Center, והסגנון המפורש של lineHeight (ב-sp) נוסף ל-TextStyle של Typography. אם אתם רוצים להתאים אישית את הערכים האלה, היעזרו במסמכי ה-API. בפוסט בבלוג יש הסבר מפורט על השינויים האלה. (Icabc3, I3f801, I04c03)

שינויים ב-API

  • ממשקי ה-API מסוג Swipeable של Material הוצאו משימוש. כדאי לעיין בממשקי ה-API של AnchoredDraggable של Foundation, שמותאמים גם לתרחישי שימוש פשוטים וגם מורכבים. (I732e0)

תיקוני באגים

  • BottomSheetState, ModalBottomSheetState ו-BottomDrawerState חושפים עכשיו מאפיין התקדמות שמציין את ההתקדמות בין העוגן הנוכחי (המוטמע) לבין העוגן הקרוב ביותר בכיוון ההחלקה. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

גירסה 1.5

גרסה 1.5.4

18 באוקטובר 2023

androidx.compose.material:material-*:1.5.4 משוחרר. גרסה 1.5.4 כוללת את ההתחייבויות האלה.

גרסה 1.5.3

4 באוקטובר 2023

androidx.compose.material:material-*:1.5.3 משוחרר. אין שינויים בגרסה הזו

גרסה 1.5.2

27 בספטמבר 2023

androidx.compose.material:material-*:1.5.2 משוחרר. גרסה 1.5.2 כוללת את ההתחייבויות האלה.

גירסה 1.5.1

6 בספטמבר 2023

ההשקה של androidx.compose.material:material-*:1.5.1 ללא שינויים. גרסה 1.5.1 כוללת את ההתחייבויות האלה.

גרסה 1.5.0

9 באוגוסט 2023

androidx.compose.material:material-*:1.5.0 משוחרר. גרסה 1.5.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.4.0

שינויים ב-API

  • שינויים שהוטמעו בממשקי ה-API של Slidesable1 ב-BottomSheetScaffold. השם של הפרמטר confirmStateChange של BottomSheetState השתנה ל-confirmValueChange. progress גלוי עכשיו כערך צף. האפליקציות animateTo ו-snapTo הן פנימיות. במקומו צריך להשתמש ב-expand() וב-collapse(). direction ו-overflow הוסרו. offset הוחלף בטקסט requireOffset(). I323b4
  • מסמנים את הפונקציה snapTo בחלונית ההזזה כ-API לא ניסיוני. (Ib9c18, b/261425368)
  • הוספנו פרמטר של צבע מסלול לאינדיקטורי התקדמות מעגליים, ופרמטר של מגבלת קווים לאינדיקטורי התקדמות מעגליים ולינאריים. (Ie668c, b/216325962, b/222964817)
  • שינית את השם של ModalBottomSheetState, ModalBottomSheetState.Saver ו-confirmStateChange של rememberModalBottomSheetState ל-confirmValueChange. (Ib48d1)
  • הוספה של Modifier.minimumInteractiveComponentSize. אפשר להשתמש בו כדי לשמור בגודל 48.dp לפחות כדי להבחין בין אינטראקציות מגע אם הרכיב יהיה קטן יותר. (I33f58, b/258495559)
  • שינויים משולבים בממשקי ה-API שאפשר להחליק ב-ModalBottomSheetLayout. ה-animateTo של ModalBottomSheetState לא לוקח יותר פרמטר animationSpec, וההיסט שהוצג יכול להיות null. כדי לדרוש את ההיסט, צריך להשתמש ב-requireOffset. (Ia2e79)
  • הוספת הערה מסוג @JvmDefaultWithCompatibility (I8f206)
  • השינויים שמשולבים בממשקי ה-API עם פונקציית החלקה ב-animateTo של ModalDrawer. DrawerState הוחלפו בשיטות הפתיחה והסגירה, ועכשיו אפשר לבטל את ההיסט. כדי לדרוש את ההיסט, צריך להשתמש ב-requireOffset. (I3de9e)
  • חלונית ההזזה ו-Sheets עודכנו כדי להשהות לחיצות בצורה נכונה במקרה שתנועות יכולות להפוך לאירועי גלילה.
  • נוסף הפרמטר minLines ל-Material3 Text, TextField ו-OutlinedTextField, המאפשר להגדיר את הגובה המינימלי של הרכיב מבחינת מספר השורות (I4af1d)

תיקוני באגים

  • תיקון בעיה שבה המהירות pullRefresh לא ניצלה מהירות שגרמה להצגת יתר של גלילה. שונתה גם חתימת ה-API של lambda onRelease ב-Modifier.pullRefresh כך שתחזיר Float למהירות צריכה (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState ו-BottomDrawerState חושפים עכשיו מאפיין התקדמות שמציין את ההתקדמות בין העוגן הנוכחי (המוטמע) לבין העוגן הקרוב ביותר בכיוון ההחלקה. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • תוקנה פעולת הסגירה AlertDialog כך שתופיע מתחת לפעולת האישור כשהפעולות נערמו זו על זו כדי להתאים לרוחב של תיבת הדו-שיח. התיקון הזה נועד להתאים את ההטמעה למפרט של עיצוב חדשני תלת-ממדי. (I029de, b/235454277)
  • BottomSheetScaffold לא ייכלל יותר בגלילה בתוך גלילה אם המדיניות gesturesEnabled מוגדרת כ-False. (I634f3, b/215403277)
  • תוקן באג שגרם לקריסה של BottomSheetScaffold כשהוא סופק עם תוכן ריק למשבצות. (Ib24a5, b/235588730)
  • מתקן PullRefreshIndicator אירועים שמיירטים קליקים/אירועי מצביע. (2494256, b/271777421)
  • תוקנה בעיה שגרמה לקריסה של ModalBottomSheetLayout בתרחיש קצה במהלך שינוי כיוון. מעכשיו, אנימציות פריסה (למשל Modifier.animateContentSize) בתוכן בגיליון פועלות בצורה חלקה. (I2f981, b/266780234)

גרסה 1.5.0-rc01

26 ביולי 2023

androidx.compose.material:material-*:1.5.0-rc01 משוחרר. גרסה 1.5.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.5.0-beta03

28 ביוני 2023

androidx.compose.material:material-*:1.5.0-beta03 משוחרר. גרסה 1.5.0-beta03 מכילה את התחייבויות אלה.

תיקוני באגים

  • BottomSheetState, ModalBottomSheetState ו-BottomDrawerState חושפים עכשיו מאפיין התקדמות שמציין את ההתקדמות בין העוגן הנוכחי (המוטמע) לבין העוגן הקרוב ביותר בכיוון ההחלקה. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

גרסה 1.5.0-beta02

7 ביוני 2023

androidx.compose.material:material-*:1.5.0-beta02 משוחרר. גרסה 1.5.0-beta02 מכילה את התחייבויות אלה.

גרסה 1.5.0-beta01

24 במאי 2023

androidx.compose.material:material-*:1.5.0-beta01 משוחרר. גרסה 1.5.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • כבר אי אפשר לבטל את ההיסט של DrawerState ושל BottomDrawerState. במקום זאת, הם מחזירה Float.NaN כדי לציין את היעדר ההיסט. Ie9855
  • נוספה אפשרות להעביר ב-ScrollState כשבונים DropdownMenu או ExposedDropdownMenu כדי לשלוט במצב הגלילה האנכית של האפשרויות בתפריט. (Idb009, b/185304441)
  • צריך להוסיף תמיכה בהפעלה או בהשבתה של התנועה של ModalBottomSheetLayout, כדי שהמשתמש יוכל להגדיר זאת לעוד גיליון תחתון מוצג (I40af0)
  • הוספנו פרמטר צבע אל BasicText כדי לאפשר אנימציה יעילה או הגדרת צבע טקסט ביעילות. (Iffd88, b/246961787)
  • שינוי השם של הנכס הסמנטי isContainer ל-isTraversalGroup (I121f6)

תיקוני באגים

  • תוקנה פעולת הסגירה AlertDialog כך שתופיע מתחת לפעולת האישור כשהפעולות נערמו זו על זו כדי להתאים לרוחב של תיבת הדו-שיח. התיקון הזה מתאים את ההטמעה למפרט של עיצוב Material Design. (I029de, b/235454277)

גרסה 1.5.0-alpha04

10 במאי 2023

androidx.compose.material:material-*:1.5.0-alpha04 משוחרר. גרסה 1.5.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • אנחנו מעבירים את התלות בצפיפות לרמת הרכיב. הכלל הזה חל על הרכיבים הבאים: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. צריך להשתמש בעומס-היתר החדש שמסופק כאשר הצפיפות היא פרמטר. (I8fbd8)

גרסה 1.5.0-alpha03

19 באפריל 2023

androidx.compose.material:material-*:1.5.0-alpha03 משוחרר. גרסה 1.5.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • צריך לעדכן את הרכיבים הפנימיים של BottomDrawer כדי להשתמש בממשקי ה-API החדשים של SwipeableV2. לכן, BottomDrawerState יוגדר עכשיו רק API ברמת המחלקה, ולכן הוא לא יירש שיטות או נכסים מ-SwipeableState. אנחנו משתמשים ביצירה עם SwipeableV2State פנימי. ההיסט הוא עכשיו נכס של נקודה צפה (floating) שאינו null. עדיין ניתן לגשת לערך הנוכחי ולערך יעד להחלקה דרך המאפיינים currentValue ו- targetValue. השיטות הקודמות ברמת הכיתה, כמו פתיחה/הרחבה/סגירה, ומאפיינים כמו isOpen/isClosed ימשיכו לקבל תמיכה. (Iad40c, b/178529942, b/220676296)

תיקוני באגים

  • הפרטים הפנימיים של רכיב המתג עודכנו. המתג יציג עכשיו תצוגה מקדימה של המצב הקרוב ביותר (מצב היעד) בזמן הגרירה. (Id90d4)
  • תוכן הגיליון עם האנימציה (למשל, Modifier.animateContentSize בתוכן הגיליון) ב-BottomSheetScaffold עבר אופטימיזציה והוא פועל עכשיו בצורה חלקה. (Ia913c, b/270518202, b/254446195)
  • הפרמטר BottomSheetScaffold לא ישתתף יותר בגלילה בתוך הדף אם המדיניות gesturesEnabled מוגדרת לערך false. (I634f3, b/215403277)

גרסה 1.5.0-alpha02

5 באפריל 2023

androidx.compose.material:material-*:1.5.0-alpha02 משוחרר. גרסה 1.5.0-alpha02 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקן באג שגרם לקריסה של BottomSheetScaffold כשהוא סופק עם תוכן ריק למשבצות. (Ib24a5, b/235588730)
  • מתקן PullRefreshIndicator אירועים שמיירטים קליקים / אירועי מצביע (2494256, b/271777421)

גרסה 1.5.0-alpha01

22 במרץ 2023

androidx.compose.material:material-*:1.5.0-alpha01 משוחרר. גרסה 1.5.0-alpha01 מכילה את התחייבויות אלה.

תיקוני באגים

  • מוסיפים דוגמה של הזרמה חוזרת של קבוצת צ'יפים. צריך לעדכן את המרווח הפנימי האופקי בין צ'יפים של צאצאים בדוגמה של קבוצת הצ'יפים של שורה אחת, בהתאם למפרט. (I3b155)
  • תוקנה בעיה שגרמה לקריסה של ModalBottomSheetLayout בתרחיש קצה במהלך שינוי כיוון. מעכשיו, אנימציות פריסה (למשל Modifier.animateContentSize) בתוכן בגיליון פועלות בצורה חלקה. (I2f981, b/266780234)

גרסה 1.4

גרסה 1.4.3

3 במאי 2023

הגרסה androidx.compose.material:material-*:1.4.3 הושקה ללא שינויים (רק שדרוג של הגרסה).

גרסה 1.4.2

19 באפריל 2023

androidx.compose.material:material-*:1.4.2 משוחרר. גרסה 1.4.2 כוללת את ההתחייבויות האלה.

גרסה 1.4.1

5 באפריל 2023

androidx.compose.material:material-*:1.4.1 משוחרר. גרסה 1.4.1 כוללת את ההתחייבויות האלה.

גרסה 1.4.0

22 במרץ 2023

androidx.compose.material:material-*:1.4.0 משוחרר. גרסה 1.4.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.3.0

שינויים ב-API

  • הוספה של Modifier.minimumInteractiveComponentSize. אפשר להשתמש בו כדי לשמור בגודל 48.dp לפחות כדי להבחין בין אינטראקציות מגע אם הרכיב יהיה קטן יותר. (I33f58, b/258495559)
  • שינויים משולבים בממשקי ה-API שאפשר להחליק ב-ModalDrawer. הפרמטר animateTo של DrawerState הוחלף בשיטות הפתיחה והסגירה, ועכשיו ניתן לבטל את ההיסט. כדי לדרוש את ההיסט, צריך להשתמש ב-requireOffset. (I3de9e)
  • נוסף הפרמטר minLines ל-Material3 Text, TextField ו-OutlinedTextField, המאפשר להגדיר את הגובה המינימלי של הרכיב מבחינת מספר השורות (I4af1d)
  • הפרמטר minLines נוסף לערכי BasicText ול-BasicTextField. היא מאפשרת להגדיר את הגובה המינימלי של תכנים קומפוזביליים כאלה במונחים של מספר שורות (I24294, b/122476634)

גרסה 1.4.0-rc01

8 במרץ 2023

ההשקה של androidx.compose.material:material-*:1.4.0-rc01 ללא שינויים. גרסה 1.4.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.4.0-beta02

22 בפברואר 2023

androidx.compose.material:material-*:1.4.0-beta02 משוחרר. גרסה 1.4.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינויים משולבים בממשקי ה-API שאפשר להחליק ב-BottomSheetScaffold. השם של הפרמטר confirmStateChange של BottomSheetState השתנה ל-confirmValueChange. progress גלוי עכשיו כערך צף. האפליקציות animateTo ו-snapTo הן פנימיות. במקומו צריך להשתמש ב-expand() וב-collapse(). direction ו-overflow הוסרו. offset הוחלף בטקסט requireOffset(). (I323b4)

תיקוני באגים

  • התפקידים הסמנטיים הוסרו מפלטפורמות שאפשר ללחוץ עליהן ולבחירה בהן, עודכנו רכיבים שבהם נעשה שימוש כדי להגדיר תפקידים באמצעות matching.semantics (Ibb4ba)
  • עדכון קל בסמלים המורחבים של Material שעורכים את הסמלים הממלאים desktop_mac, directions ו-kitchen. (I65f5e)

גרסה 1.4.0-beta01

8 בפברואר 2023

androidx.compose.material:material-*:1.4.0-beta01 משוחרר. גרסה 1.4.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • תיקון בעיה שבה המהירות pullRefresh לא ניצלה מהירות שגרמה להצגת יתר של גלילה. שונתה גם חתימת ה-API של lambda onRelease ב-Modifier.pullRefresh כך שתחזיר Float למהירות צריכה (I7db65, b/266874741)
  • שוחזר הנכס LocalMinimuTouchTargetEnforcement וסמן אותו כהוצאה משימוש ומפנה מחדש אל LocalMinimumInteractiveComponentEnforcement. (I60dd5)

גרסה 1.4.0-alpha05

25 בינואר 2023

androidx.compose.material:material-*:1.4.0-alpha05 משוחרר. גרסה 1.4.0-alpha05 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה בעיה שבה מצב ModalBottomSheetLayout's HalfExpanded לא חושב כראוי והגיליון היה צף. (I8c615, b/265610459)
  • תוקן באג ב-ModalBottomSheetLayout שגרם לקריסה של הגיליון כשעוברים ממצב 'מוסתר' למצב גלוי בנסיבות מסוימות. (Ia9265, b/265444789)

גרסה 1.4.0-alpha04

11 בינואר 2023

androidx.compose.material:material-*:1.4.0-alpha04 משוחרר. גרסה 1.4.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף בנכס סמנטיקה IsContainer ב'פלטפורמות'. המאפיין הזה ישמש בשינוי מאוחר יותר שיקבע את סדר המעבר על סמך המשמעות הסמנטית של אלמנטים כמו פלטפורמות. I63379
  • מסמנים את הפונקציה snapTo בחלונית ההזזה כ-API לא ניסיוני. (Ib9c18, b/261425368)
  • הוספנו פרמטר של צבע מסלול לאינדיקטורי התקדמות מעגליים, ופרמטר של מגבלת קווים לאינדיקטורי התקדמות מעגליים ולינאריים. (Ie668c, b/216325962, b/222964817)
  • שינית את השם של ModalBottomSheetState, ModalBottomSheetState.Saver ו-confirmStateChange של rememberModalBottomSheetState ל-confirmValueChange. (Ib48d1)
  • עוד ערכי null של פונקציות מוסתרות שהוצאה משימוש (Ibf7b0)
  • הוספה של Modifier.minimumInteractiveComponentSize. אפשר להשתמש בו כדי לשמור בגודל 48.dp לפחות כדי להבחין בין אינטראקציות מגע אם הרכיב יהיה קטן יותר. (I33f58, b/258495559)
  • שינויים משולבים בממשקי ה-API שאפשר להחליק ב-ModalBottomSheetLayout. הפרמטר animateTo של ModalBottomSheetState לא מקבל יותר פרמטר animationSpec, ועכשיו הערך של הפרמטר offset שנחשפת יכול להיות null. יש להשתמש ב-requireOffset כדי לדרוש את offset. (Ia2e79)

תיקוני באגים

  • בגיליון של ModalBottomSheetLayout יש עכשיו רוחב מקסימלי של 640dp. (I71a4f, b/234927577)
  • תוקנה בעיה שבה rememberPullRefreshState לא עדכן את refreshThreshold ואת refreshingOffset במשך הזמן. (Ifed10, b/263159832)
  • ההתקדמות של מדדי התקדמות מוגבלת עכשיו לטווח הצפוי שלה. (I8a7eb, b/262262727)
  • אם ModalBottomSheetState עדיין לא קיבל מודעות עוגן, currentValue ללא אנימציה יעודכן בהפעלה של snapTo או animateTo במקום להקפיץ הודעת חריג. (I2c91b)
  • תוקן המצב המופעל בהטמעה של FilterChip של Material 2. (Id326a, b/261329817)
  • תוקן באג שגרם לקריסה של ModalBottomSheetLayout אם היא הייתה HalfExpanded כשעוברים מפריסה לאורך לפריסה לרוחב. יש לוודא שאתם מעבירים את ה-initialValue הנכון. לדוגמה, על ידי בדיקת ההגדרות. (Ie8df7, b/182882364)
  • תוקנה בעיה שגרמה לקריסה של ModalBottomSheetLayout אם התוכן של הגיליון היה ריק. ModalBottomSheetLayout מאפשר עכשיו תוכן גיליון ריק. אם התוכן בגיליון ריק, הסטטוס שלו יהיה מוסתר בלבד. (Ic2288, b/200980998, b/216693030)

בעיה ידועה

  • בעדכון מ-androidx.compose.foundation:1.4.0-alpha03 ל-androidx.compose.foundation:1.4.0-alpha04, יכול להיות שתופיע הודעת השגיאה java.lang.NoSuchFieldError. כאן הבעיה דווחה בארגון. נשלח תיקון, ויהיה זמין בעדכון הבא של 'כתיבה'. כדי לעקוף את הבעיה, עליך לעדכן את הספריות androidx.compose.material ו-androidx.compose.material3 לגרסה האחרונה(1.1.0-alpha04) או לשדרג לאחור את androidx.compose.foundation ל-1.4.0-alpha03.

גרסה 1.4.0-alpha03

7 בדצמבר 2022

androidx.compose.material:material-*:1.4.0-alpha03 משוחרר. גרסה 1.4.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת הערה מסוג @JvmDefaultWithCompatibility (I8f206)
  • שינויים שהוטמעו בממשקי ה-API של Swipeable ב-ModalDrawer. הפרמטר animateTo של DrawerState הוחלף בשיטות open ו-close, ועכשיו אפשר לבטל את ההיסט. כדי לדרוש את ההיסט, צריך להשתמש ב-requireOffset. (I3de9e)
  • נוסף ממשק API של Modifier להרצת שאילתות על פרטי גלילה של ישויות אב. (I2ba9d, b/203141462)
  • נעשה שימוש ב-Clickable כדי לעכב באופן תקין אינטראקציות עם העיתונות, כאשר תנועות עשויות להפוך לאירועי גלילה.
  • בוצע תיקון של Clickables לעיכוב תקין של הדים בזמן שימוש בתוך Scrollable ViewGroup.
  • חלונית ההזזה ו-Sheets עודכנו כדי להשהות לחיצות בצורה נכונה במקרה שתנועות יכולות להפוך לאירועי גלילה.

תיקוני באגים

  • תוקנה בעיה שבה PullRefreshIndicator נתקע אחרי קריאה אל onRefresh, אם מצב הרענון לא השתנה ל-True. (Ie2416, b/248274004)

עדכונים בנושא תלות

  • ממשק המשתמש של הבנייה וחומר הלימוד תלויים במחזור החיים 2.5.1. (I05ab0, b/258038814)

גרסה 1.4.0-alpha02

9 בנובמבר 2022

androidx.compose.material:material-*:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • awaitFirstDown ו-waitForUpOrCancellation מקבלים עכשיו PointerEventPass כדי ליהנות מגמישות רבה יותר. (I7579a, b/212091796)
  • נוסף הפרמטר minLines ל-Material3 Text, TextField ו-OutlinedTextField, המאפשר להגדיר את הגובה המינימלי של הרכיב מבחינת מספר השורות (I4af1d)
  • הפרמטר minLines נוסף ל-BasicText ול-BasicTextField. הוא מאפשר להגדיר את הגובה המינימלי של תכנים קומפוזביליים כאלה מספר השורות (I24294, b/122476634)

גרסה 1.4.0-alpha01

24 באוקטובר 2022

androidx.compose.material:material-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה שיטה חדשה, awaitEachGesture(), למזהי תנועות. היא פועלת באופן דומה ל-forEachGesture(), אבל הלולאה מעל התנועות פועלת במלואה בתוך AwaitPointerEventScope, כך שאי אפשר לאבד אירועים בין החזרות.
  • השיטה forEachGesture() הוצאה משימוש לטובת awaitEachGesture() כי היא מאפשרת אירועים שאבדו בין התנועות. (Iffc3f, b/251260206)

גרסה 1.3

גרסה 1.3.1

9 בנובמבר 2022

androidx.compose.material:material-*:1.3.1 משוחרר. גרסה 1.3.1 כוללת את ההתחייבויות האלה.

גרסה 1.3.0

24 באוקטובר 2022

androidx.compose.material:material-*:1.3.0 משוחרר. גרסה 1.3.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.2.0

שינוי משמעותי בהתנהגות

  • הגובה המקסימלי הנתמך בתיבות דו-שיח בחלון קופץ הצטמצם ל-8dp.

שינויים ב-API

  • יש להוסיף רכיב 'משיכה לרענון' לכתיבה (I29168).
  • משנים את שם הפרמטר מערכים לערך ב-rangeSlider (I3b79a).

גרסה 1.3.0-rc01

5 באוקטובר 2022

androidx.compose.material:material-*:1.3.0-rc01 משוחרר. גרסה 1.3.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.3.0-beta03

21 בספטמבר 2022

androidx.compose.material:material-*:1.3.0-beta03 משוחרר. גרסה 1.3.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת רכיב משיכה לרענון לכתיבה (I29168)

גרסה 1.3.0-beta02

7 בספטמבר 2022

androidx.compose.material:material-*:1.3.0-beta02 משוחרר. גרסה 1.3.0-beta02 מכילה את התחייבויות אלה.

לא בוצעו שינויים מאז 1.3.0-בטא01

גרסה 1.3.0-beta01

24 באוגוסט 2022

androidx.compose.material:material-*:1.3.0-beta01 משוחרר. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.

שינוי משמעותי בהתנהגות

הגובה המקסימלי הנתמך בתיבות דו-שיח בחלון קופץ הצטמצם ל-8dp.

גובה הגובה המקסימלי הנתמך של תיבות דו-שיח וחלונות קופצים של 'כתיבה' הצטמצם מ-30dp ל-8dp. השינוי הזה משפיע על תיבות דו-שיח וחלונות קופצים בהתאמה אישית של חומר וגם על ממשק משתמש. השינוי הזה נועד לתקן באג נגישות בגרסאות Android שקודמות ל-S, ולוודא ששירותי הנגישות בחלונות האלה יוכלו לקיים אינטראקציה עם התוכן שמופיע בתיבת הדו-שיח או בחלון הקופץ.

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

גרסה 1.3.0-alpha03

10 באוגוסט 2022

androidx.compose.material:material-*:1.3.0-alpha03 משוחרר. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.

גרסה 1.3.0-alpha02

27 ביולי 2022

androidx.compose.material:material-*:1.3.0-alpha02 משוחרר. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.

תרומה חיצונית

  • פתרון בעיה אחת (AnimatedVisibility) עם FloatingActionButton ב-Scaffold (I3a0ae, b/224005027)

גרסה 1.3.0-alpha01

29 ביוני 2022

androidx.compose.material:material-*:1.3.0-alpha01 משוחרר. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינוי שם הפרמטר מערכים לערך ב-RangeSlider (I3b79a)

תיקוני באגים

  • מעדכנים את דוגמת התג כדי לספק תיאור תוכן משמעותי יותר. (I10b9d)

גרסה 1.2

גרסה 1.2.1

10 באוגוסט 2022

androidx.compose.material:material-*:1.2.1 משוחרר. גרסה 1.2.1 כוללת את ההתחייבויות האלה.

גרסה 1.2.0

27 ביולי 2022

androidx.compose.material:material-*:1.2.0 משוחרר. גרסה 1.2.0 כוללת את ההתחייבויות האלה.

גרסה 1.2.0-rc03

29 ביוני 2022

androidx.compose.material:material-*:1.2.0-rc03 משוחרר. גרסה 1.2.0-rc03 מכילה את שמירות האלה.

  • לא בוצעו שינויים מאז 1.2.0-rc02.

גרסה 1.2.0-rc02

22 ביוני 2022

androidx.compose.material:material-*:1.2.0-rc02 משוחרר. גרסה 1.2.0-rc02 מכילה את שמירות האלה.

גרסה 1.2.0-rc01

15 ביוני 2022

androidx.compose.material:material-*:1.2.0-rc01 משוחרר. גרסה 1.2.0-rc01 מכילה את שמירות האלה.

שינויים ב-API

  • ממשקים בספריות הרכבה נוצרים עכשיו באמצעות שיטות ברירת מחדל של jdk8 (I5bcf1)

תיקוני באגים

  • תג העדכונים עם כרטיסיית הסמל המובילה כדי להצמיד את התג לתווית במקום לסמל. I90993

גרסה 1.2.0-beta03

1 ביוני 2022

androidx.compose.material:material-*:1.2.0-beta03 משוחרר. גרסה 1.2.0-beta03 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקן באג שגרם לשרטוט של BottomSheetScaffold מעל הצל של סרגל האפליקציה העליון. BottomSheetScaffold לוקח עכשיו בחשבון גם את מצב הגיליון כשמציבים סרגלים למעקב: במצב מכווץ, סרגלי סימון ממוקמים מעל הגיליון ולחצני FAB; במצב המורחב, סרגלי הצד מעוגנים לחלק התחתון של הגיליון. (Ia80b5, b/187771422)

גרסה 1.2.0-beta02

18 במאי 2022

androidx.compose.material:material-*:1.2.0-beta02 משוחרר. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.

גרסה 1.2.0-beta01

11 במאי 2022

androidx.compose.material:material-*:1.2.0-beta01 משוחרר. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

  • זוהי גרסת הבטא הראשונה של 1.2!

שינויים ב-API

  • השם של התוכן הקומפוזבילי TextFieldDefaults.BorderStroke שונה עם קו גבול מהטווח OutlinedTextField לערך TextFieldDefaults.BorderBox. (I5f295)

גרסה 1.2.0-alpha08

20 באפריל 2022

androidx.compose.material:material-*:1.2.0-alpha08 משוחרר. גרסה 1.2.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • האפשרות 'צריכה חלקית (מיקום למטה' או 'מיקום נמוך') הוצאה משימוש ב-PointerInputChange. אפשר להשתמש ב-consume() כדי לקבל את השינוי באופן מלא. אפשר להשתמש ב-isConsumed כדי לבדוק אם מישהו אחר ביצע את השינוי בעבר.
  • מעכשיו, PointerInputChange::copy() תמיד יוצר עותק שטחי שימוש. פירוש הדבר הוא שעותקים של PointerInputChange ייצרוך לאחר מימוש אחד מהעותקים. כדי ליצור PointerInputChange ללא גבולות, צריך להשתמש ב-constructor. (Ie6be4, b/225669674)

גרסה 1.2.0-alpha07

6 באפריל 2022

androidx.compose.material:material-*:1.2.0-alpha07 משוחרר. גרסה 1.2.0-alpha07 מכילה את התחייבויות אלה.

גרסה 1.2.0-alpha06

23 במרץ, 2022

androidx.compose.material:material-*:1.2.0-alpha06 משוחרר. גרסה 1.2.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • עדכונים ב-Card API קליקבילי בעקבות שינויים ב-Surface API (I56bcb)
  • עדכונים ל-Material 2 Surface API שמוסיף פונקציות של עומס יתר עבור משטחים שניתן לבחור בהם ולהחליף אותם. (Ifcca5)

גרסה 1.2.0-alpha05

9 במרץ 2022

androidx.compose.material:material-*:1.2.0-alpha05 משוחרר. גרסה 1.2.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • LazyVerticalGrid ו-LazyHorizontalGrid יציבים עכשיו. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid וכל ממשקי ה-API הקשורים הועברו אל חבילת המשנה grid. צריך לעדכן את הקבצים המיובאים מ-androidx.compose.foundation.lazy ל-androidx.compose.foundation.lazy.grid. (I2d446, b/219942574)
  • בוטל שינוי קודם שהסתמך אך ורק על 'תצוגה עבור' WindowInsetsControllerCompat, ושוב נדרש חלון שנדרשת לניהול חלק מהסימונים של החלונות. חסר ערך ViewCompat.getWindowInsetsController לטובת WindowCompat.getInsetsController כדי להבטיח שהחלון הנכון שבו נעשה שימוש (לדוגמה, אם התצוגה נמצאת בתיבת דו-שיח). (I660ae, b/219572936)
  • טקסט:includeFontPadding כבוי עכשיו כברירת מחדל. בעיות בחיתוך כתוצאה מ-includeFontPadding=false מטופלות ושום חיתוך לא אמור להתרחש בסקריפטים ארוכים. (I31c84, b/171394808)
  • נוסף API חדש של LazyVerticalGrid להגדרת גדלים של צירים שונים (I17723)

גרסה 1.2.0-alpha04

23 בפברואר 2022

androidx.compose.material:material-*:1.2.0-alpha04 משוחרר. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • Add support for filter chips (I39a6e, b/192585545)
  • בוצעה הוספה של TextFieldDecorationBox וגם OutlinedTextFieldDecorationBox. איך להשתמש בהם יחד עם BasicTextField יעזרו לכם ליצור שדה טקסט מותאם אישית שמבוסס על טקסט בעיצוב חדש (Material Design) אבל עם אפשרויות נוספות להתאמה אישית.
  • סופקה דרך להתאים את המרווחים הפנימיים והאנכיים בשדות הטקסט. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, 3168b/168
  • נוספו ComposableTarget, ComposableTargetMarker וגם ComposableOpenTarget שמאפשר לקבל דיווח על זמן שבו פונקציה קומפוזבילית נקראת טירגוט לאפליקציה שהיא לא שמיועד לשימוש.

    ברוב המקרים, רכיב הכתיבה יכול להסיק את ההערות של המהדר (compiler), כך שהשימוש באנוטציות האלה ישירות צריך להיות נדיר . המקרים שלא ניתן להסיק כוללים יצירה ו באמצעות פונקציות קומפוזביליות מופשטות בהתאמה אישית (כמו שיטות ממשק), שדות או משתנים גלובליים lambdas קומפוזביליים (מסיקים משתנים ופרמטרים מקומיים), או כשמשתמשים ב-ComposeNode או בפונקציות קומפוזביליות קשורות.

    לאפליקציות קומפוזביליות בהתאמה אישית, פונקציה זו מפעילה את הפונקציות הקומפוזביליות ComposeNode או ReusableComposeNode צריכים להוסיף הערת CompoableTarget לפונקציה ולכל הערה אחרת סוגי פרמטרים קומפוזביליים של lambda. עם זאת, מומלץ כדי ליצור הערה שנוספה ComposableTargetMarker ולאחר מכן ייעשה שימוש בהערה המסומנת במקום ComposableTarget ישירות. הערה קומפוזבילית שמסומן ב-ComposableTargetMarker שווה ערך ל- ComposbleTarget בשם המוגדר במלואו של המאפיין class בתור הפרמטר applier. לדוגמה לשימוש ComposableTargetMarker: anroidx.compose.ui.UiComposable. (I38f11)

גרסה 1.2.0-alpha03

9 בפברואר 2022

androidx.compose.material:material-*:1.2.0-alpha03 משוחרר. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.

תיקוני באגים

גרסה 1.2.0-alpha02

26 בינואר, 2022

androidx.compose.material:material-*:1.2.0-alpha02 משוחרר. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת את NonRestartableComposable לשיטות של עומס יתר שיטות קיימות ללא לוגיקה מורכבת. הפעולה הזו מפחיתה את המהדר (compiler) שיצרה בדיקות שינון (שווה) לכל הפרמטרים חוזרים בפונקציה הפנימית שנקראת. (I90490)
  • הוספת תמיכה בצ'יפ של פעולה (I07100, b/192585545)

גרסה 1.2.0-alpha01

12 בינואר, 2022

androidx.compose.material:material-*:1.2.0-alpha01 משוחרר. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.

עדכונים בנושא תלות

  • עכשיו תלוי ב-Kotlin 1.6.10.

תרומה חיצונית

  • התג ModalBottomSheetState מסומן עכשיו בדגל isSkipHalfExpanded. אפשר להגדיר אותה באמצעות ה-constructor או לעדכן אותה מאוחר יותר על ידי הגדרת המאפיין isSkipHalfExpanded של ModalBottomSheetState כ-true. עדכון הערך של isSkipHalfExpanded גורם להרכבת מחדש של הגיליון. (I18b86, b/186669820)

גרסה 1.1

גרסה 1.1.1

23 בפברואר 2022

androidx.compose.material:material-*:1.1.1 משוחרר. גרסה 1.1.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקון NullPointerException ב-androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • תיקון הקריסה שנגרמה בגלל תוכן שבלוח העריכה במהלך קריאה מ לוח העריכה ב-Android. (I06020, b/197769306)
  • RTL קבוע ב-LazyVerticalGrid (aosp/1931080, b/207510535)

גרסה 1.1.0

9 בפברואר 2022

androidx.compose.material:material-*:1.1.0 משוחרר. גרסה 1.1.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.0.0

  • תמיכה יציבה באפקט גלילת היתר ב-Android 12
  • שיפורים בגודל משטחי מגע
  • חשוב לשים לב: בכל הנוגע לניסוח 1.0, רכיבי Material ירחיבו את שטח הפריסה שלהם כך שיעמדו בהנחיות הנגישות של Material עבור גודל יעד המגע. לדוגמה, משטח המגע של הלחצן יתרחב לגודל מינימלי של 48x48dp, גם אם הגדרת את גודל הלחצן קטן יותר. זה מאפשר התאמה של חומרי הלימוד לאותה התנהגות של רכיבי Material Design, שמספק התנהגות עקבית אם משלבים בין תצוגות מפורטות לבין 'כתיבה'. השינוי הזה גם מבטיח שכשיוצרים את ממשק המשתמש באמצעות רכיבי 'חומר הכתיבה', צריך לעמוד בדרישות המינימליות לנגישות במשטח מגע.
  • תמיכה יציבה במסילת הניווט
  • שדרוג של מספר ממשקי API ניסיוניים שכבר היו ניסיוניים לגרסה יציבה
  • תמיכה בגרסאות חדשות יותר של Kotlin

גרסה 1.1.0-rc03

26 בינואר, 2022

androidx.compose.material:material-*:1.1.0-rc03 משוחרר. גרסה 1.1.0-rc03 מכילה את ההתחייבויות האלה.

שינויים בהתנהגות

חשוב לשים לב שבכל הקשור ל-Compose 1.0, רכיבי Material ירחיבו את שטח הפריסה שלהם כך שיעמדו בהנחיות הנגישות בגודל יעד המגע. לדוגמה, משטח המגע של הלחצן יתרחב לגודל מינימלי של 48x48dp, גם אם הגדרת את גודל הלחצן קטן יותר. זה מאפשר התאמה של חומרי הלימוד לאותה התנהגות של רכיבי Material Design, שמספק התנהגות עקבית אם משלבים בין תצוגות מפורטות לבין 'כתיבה'. השינוי הזה גם מבטיח שכשיוצרים את ממשק המשתמש באמצעות רכיבי 'חומר הכתיבה', צריך לעמוד בדרישות המינימליות לנגישות במשטח מגע.

תיקוני באגים

  • הוספנו מידע טוב יותר על תוצאות ניפוי הבאגים לכלי לבדיקת הפריסה, במהלך הבדיקה של מגבילי התאמה מינימליים של יעדי מגע. (aosp/1955036)

גרסה 1.1.0-rc01

15 בדצמבר 2021

androidx.compose.material:material-*:1.1.0-rc01 משוחרר. גרסה 1.1.0-rc01 מכילה את ההתחייבויות האלה.

תיקוני באגים

גרסה 1.1.0-beta04

1 בדצמבר 2021

androidx.compose.material:material-*:1.1.0-beta04 משוחרר. גרסה 1.1.0-beta04 כוללת את ההתחייבויות האלה.

תכונות חדשות

  • עודכן להתאמה ל-Kotlin 1.6.0

גרסה 1.1.0-beta03

17 בנובמבר 2021

androidx.compose.material:material-*:1.1.0-beta03 משוחרר. גרסה 1.1.0-beta03 מכילה את התחייבויות אלה.

גרסה 1.1.0-beta02

3 בנובמבר 2021

androidx.compose.material:material-*:1.1.0-beta02 משוחרר. גרסה 1.1.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • 'הדים' וסימנים אחרים יעוכבו מעכשיו רק אם הם בתוך קונטיינר של Modifier.scrollable() , במקום שהם תמיד יתעכבו באירוע מושבת. (Ibefe0, b/203141462)

גרסה 1.1.0-beta01

27 באוקטובר 2021

androidx.compose.material:material-*:1.1.0-beta01 משוחרר. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

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

גרסה 1.1.0-alpha06

13 באוקטובר 2021

androidx.compose.material:material-*:1.1.0-alpha06 משוחרר. גרסה 1.1.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף עומס יתר של פריסה בלי ילדים, עם יעילות משופרת (Ib0d9a)
  • הטמעה של ExposedDropdownMenu על סמך ExposedDropdownMenuBox עם TextField ו-DropdownMenu בפנים (If60b2)
  • dismissOnOutsideClick נוסף אל PopupProperties ומחליף את dismissOnClickOutside שהוצאה משימוש. המאפיין החדש מקבל את מיקום הקליק ואת גבולות העוגן, וכך מאפשר שליטה מדויקת יותר אם צריך להפעיל את onDismissRequest או לא. לדוגמה, האפשרות הזו יכולה להיות שימושית כדי למנוע את סגירת העוגן במקרה של נגיעות בעוגן.
    • האפליקציה updateAndroidWindowManagerFlags נוספה אל PopupProperties, נותנת שליטה ברמה נמוכה על הדגלים שמועברים על ידי החלון הקופץ אל Android windowManager. הפרמטר של lambda יהיה הדגלים המחושבים מהערכים של PopupProperties שיוצרות את הדגלים של windowManager: למשל. שניתן להתמקד בו. התוצאה של lambda תהיה הדגלים הסופיים שיועברו אל Android windowManager. כברירת מחדל, הדגלים שמחושבים מהפרמטרים לא ישתנו, updateAndroidWindowManagerדגs יש להשתמש ב-API הזה בזהירות, רק במקרים שבהם לחלון הקופץ יש דרישות התנהגות ספציפיות מאוד. (I6e9f9)

גרסה 1.1.0-alpha05

29 בספטמבר 2021

androidx.compose.material:material-*:1.1.0-alpha05 משוחרר. גרסה 1.1.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת מידה מינימלית של משטחי מגע לרכיבי חומר שאין להם משטח מגע נגיש. הפעולה הזו מוסיפה ריווח נוסף בין הרכיבים, כדי לוודא שמשטח המגע שלהם גדול מספיק. כתוצאה מכך, ממשקי המשתמש הקיימים מניחים שגודל הרכיבים האלה הוא הגודל החזותי שלהם, ולא מביא בחשבון את גודל משטח המגע. אפשר להשתמש בהרכבת LocalMinimumTouchTargetEnforcement הניסיונית המקומית כדי להשבית את ההתנהגות הזו בכל ההיררכיה, אבל היא מיועדת לשמש כפתח מילוט זמני בלבד בזמן עדכון ממשקי המשתמש הקיימים כדי להביא בחשבון את הגודל המינימלי החדש. (I9b966, b/149691127, b/171509422)
  • נוסף ממשק TextFieldColorsWithIcons ניסיוני, שהרחיב את TextFieldColors כדי לספק את InteractionSource ל- leadsColor ו-BackingColor. כך ניתן לשנות את המראה של TextField בהתאם למצב המיקוד. (I66923, b/198402662)

גרסה 1.1.0-alpha04

15 בספטמבר 2021

androidx.compose.material:material-*:1.1.0-alpha04 משוחרר. גרסה 1.1.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוצאו משימוש performGesture ו-GestureScope, שכוללים הוחלף על ידי performTouchInput ו-TouchInjectionScope. (Ia5f3f, b/190493367)
  • בוצעה הוספה של touchBoundsInRoot אל SemanticsNode, כולל את הגודל המינימלי של משטח המגע, כדי שמפתחים יכול להבטיח שמשטחי מגע עומדים בדרישות המינימום בנושא נגישות. (I2e14b, b/197751214)

תיקוני באגים

  • הקליפ יכול להרחיב את גבולות משטחי המגע אל מעבר אזור הקליפ למטרות משטח מגע מינימלי. (I43e10, b/171509422)
  • התוכן הקומפוזבילי Divider עודכן לערך יש להתחשב ב-Dp.Hairline לפרמטר העובי כדי לתמוך בשרטוט מחיצות של פיקסל יחיד ללא קשר לצפיפות התצוגה. (I16ffb, b/196840810)

גרסה 1.1.0-alpha03

1 בספטמבר 2021

androidx.compose.material:material-*:1.1.0-alpha03 משוחרר. גרסה 1.1.0-alpha03 מכילה את התחייבויות אלה.

תכונות חדשות

  • הכתיבה 1.1.0-alpha03 עודכנה בהתאם ל-Kotlin 1.5.30. (I74545)

שינויים ב-API

  • נוספה שיטת בדיקה כדי לקבל גבולות חתוכים. (I6b28e)
  • גודל משטח המגע המינימלי נוסף ל-ViewConfiguration לשימוש בסמנטיקה ובקלט של מצביע כדי להבטיח נגישות. (Ie861c)

גרסה 1.1.0-alpha02

18 באוגוסט 2021

androidx.compose.material:material-*:1.1.0-alpha02 משוחרר. גרסה 1.1.0-alpha02 מכילה את התחייבויות אלה.

תרומה חיצונית

  • תיקון ההתנהגות של WAPableState במקרה שבו היסט ההחלקה נמצא בתוך שגיאת עיגול של עוגן. (I03d39, b/191993377)

גרסה 1.1.0-alpha01

4 באוגוסט 2021

androidx.compose.material:material-*:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • השיטה DrawScope#drawImage עודכנה שימוש בתשובות של מקור ויעד כדי לצרוך מסנן איכות אופציונלי הפרמטר. זה שימושי לפיקסלים אומנות שמיועדת להיות מפוקסלת כשהוא מותאם לגרפיקה מבוססת-פיקסלים. עודכן ב-BitmapPainter + תמונה קומפוזבילית כדי לצרוך גם תכונת Filter Quality (איכות סינון) אופציונלית פרמטר (Ie4fb0, b/180311607)
  • השם של BadgeBox השתנה ל-BdgedBox, והפרמטרים שהשתנו כדי לקבל תגים קומפוזביליים של תגים. נוסף רכיב תג שהוא תוכן התג הטיפוסי של BadgedBox. (I639c6)
  • נוסף רכיב NavigationRail. יש לעיין במסמכים ובדוגמאות של פרטי השימוש (I8de77)

תיקוני באגים

  • נוספה דוגמה של NavigationRail ליישור למטה ואפליקציית Catalog . (I3cffc)
  • מעכשיו תיבות דו-שיח עוקבות אחרי ההתנהגות של שינוי הגודל של הפלטפורמה. יש להגדיר את usePlatformDefaultwidth כ-false כדי לשנות את ההתנהגות הזו. (Iffaed, b/192682388)
  • נוספה הדגמה של רכבת הניווט לאפליקציית הקטלוג. (I04960)
  • הדגמת התג נוספה לאפליקציית הקטלוג. (If285d)

גירסה 1.0

גרסה 1.0.5

3 בנובמבר 2021

androidx.compose.material:material-*:1.0.5 משוחרר. גרסה 1.0.5 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן מכונות של conversionStateOf למעקב אחרי קריסה. (aosp/1792247)

גרסה 1.0.4

13 באוקטובר 2021

androidx.compose.material:material-*:1.0.4 משוחרר. גרסה 1.0.4 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן לתלוי ב-Kotlin 1.5.31

גרסה 1.0.3

29 בספטמבר 2021

androidx.compose.material:material-*:1.0.3 משוחרר. גרסה 1.0.3 מכילה את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן לתלוי ב-Kotlin 1.5.30

גרסה 1.0.2

1 בספטמבר 2021

androidx.compose.material:material-*:1.0.2 משוחרר. גרסה 1.0.2 כוללת את ההתחייבויות האלה.

עודכנה לתמיכה בגרסה 'כתיבה' 1.0.2. הכתיבה 1.0.2 עדיין תואמת ל-Kotlin 1.5.21.

גרסה 1.0.1

4 באוגוסט 2021

androidx.compose.material:material-*:1.0.1 משוחרר. גרסה 1.0.1 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

  • עודכן ל-Kotlin 1.5.21

גרסה 1.0.0

28 ביולי 2021

androidx.compose.material:material-*:1.0.0 משוחרר. גרסה 1.0.0 מכילה את ההתחייבויות האלה.

התכונות העיקריות של 1.0.0

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

בעיות מוכרות

  • אם אתם משתמשים ב-Android Studio Bumblebee Canary 4 או ב-AGP 7.1.0-alpha04/7.1.0-alpha05, עלולים להיתקל בקריסה הבאה:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    כדי לפתור את הבעיה, צריך להגדיל באופן זמני את ה-minSdkVersion ל-24+ בקובץ build.gradle. הבעיה הזו תיפתר בגרסה הבאה של Android Studio Bumblebee ו-AGP 7.1. (b/194289155)

גרסה 1.0.0-rc02

14 ביולי 2021

androidx.compose.material:material-*:1.0.0-rc02 משוחרר. גרסה 1.0.0-rc02 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • מעכשיו תיבות דו-שיח עוקבות אחרי ההתנהגות של שינוי הגודל של הפלטפורמה. יש להגדיר את usePlatformDefaultWidth כ-False כדי לשנות את ההתנהגות הזו. (Iffaed, b/192682388)

גרסה 1.0.0-rc01

1 ביולי 2021

androidx.compose.material:material-*:1.0.0-rc01 משוחרר. גרסה 1.0.0-rc01 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • רכיב BadgeBox נוסף. לעיון במסמכים ובדוגמאות של פרטי השימוש (I5e284)
  • השם של useDefaultMaxWidth ב-PopupProperties שונה ל-usePlatformDefaultWidth. (I05710)
  • מעכשיו אפשר להציג תיבות דו-שיח לכל רוחב המסך. (I83929, b/190810877)
  • נוספה הטמעת פס הזזה ניסיוני של טווח (I2f4b3)

תיקוני באגים

  • כדי להתאים למפרטים של Material Design עם קלט לא חוקי, המערכת הפסיקה להשתמש בצבע שגיאה לתווית כשהתווית משמשת כ-placeholder. התנאי השני נכון כאשר אין טקסט קלט בשדה הטקסט ובשדה הטקסט לא נמצא מיקוד. בעקבות השינוי הזה, המשמעות של הפרמטר error:Boolean בפונקציה TextFieldColors.labelColor() שונתה גם היא: עכשיו הפונקציה תחזיר false גם כשהקלט לא תקין אם התווית משמשת כ-placeholder. (I45f78)

גרסה 1.0.0-beta09

16 ביוני 2021

androidx.compose.material:material-*:1.0.0-beta09 משוחרר. גרסה 1.0.0-beta09 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף פרמטר Form ל-OutlinedTextField כדי לאפשר התאמה אישית של צורת הגבול (I8f39e, b/181322957)
  • TextOverflow משתנה למחלקה מוטבעת. (I433af)

תיקוני באגים

  • Scrim ב-BottomDrawer, BackdropScaffold ו-ModalBottomSheetLayout ייעלם ואז Color.Unspecified מועבר (I2d899, b/182063309)

הוספת כללים לפרופילים

הגרסה הזו מוסיפה כללי פרופיל למודולים הבאים של כתיבה (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

מהם כללי פרופיל?

  • כללי פרופיל עבור ספרייה מוגדרים בקובץ הטקסט baseline-prof.txt שנמצא בספרייה src/main או בספרייה מקבילה. הקובץ מציין כלל בכל שורה, כאשר כלל במקרה הזה הוא דפוס להתאמה ל-methods או מחלקות בספרייה. התחביר של הכללים האלה הוא קבוצת-על של פורמט פרופיל ART קריא לאנשים, שנעשה בו שימוש כשמשתמשים ב-adb shell profman --dump-classes-and-methods .... לכללים אלה יש אחת משתי דרכים לטירגוט שיטות או מחלקות.

  • כלל שיטה יכלול את הדפוס הבא:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • וכלל מחלקה יהיה הדפוס הבא:

    <CLASS_DESCRIPTOR>
    
  • הערך <FLAGS> הוא אחד או יותר מהתווים H, S ו-P כדי לציין אם יש לסמן את השיטה הזו כ'חם', 'הפעלה' או 'פוסט סטארט-אפ'.

  • <CLASS_DESCRIPTOR> הוא התיאור של המחלקה שאליה שייכת שיטת הטירגוט. לדוגמה, המחלקה androidx.compose.runtime.SlotTable תקבל מתאר של Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> הוא החתימה של השיטה, והוא כולל את השם, סוגי הפרמטרים וסוגי ההחזרה של השיטה. לדוגמה, השיטה fun isPlaced(): Boolean ב-LayoutNode כוללת את החתימה isPlaced()Z.

  • לתבניות האלה יכולים להיות תווים כלליים לחיפוש (**, * ו-?) כדי שכלל יחיד יכלול כמה שיטות או מחלקות.

למה משמשים הכללים?

  • שיטה עם הדגל H מציינת שהשיטה הזו היא 'חם' וצריך להרכיב אותה מראש.

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

  • שיטה עם הדגל P מציינת שזו שיטה שנקראת אחרי ההפעלה.

  • מחלקה שנמצאת בקובץ הזה מצביעה על כך שנעשה בו שימוש במהלך ההפעלה וצריך להקצות אותו מראש בערימה כדי למנוע את עלות הטעינה של הכיתה.

איך זה עובד?

  • ספריות יכולות להגדיר את הכללים האלה, שיישמרו בפריטי מידע שנוצרו בתהליך הפיתוח (Artifact) של AAR. לאחר מכן, לאחר היצירה של APK שכולל את ארטיפקטים האלה, הכללים האלה ממוזגים יחד, והכללים הממוזגים משמשים כדי לבנות פרופיל ART בינארי קומפקטי שהוא ספציפי ל-APK. לאחר מכן ART יכול להשתמש בפרופיל הזה כשה-APK מותקן במכשירים כדי ליצור מראש קבוצת משנה ספציפית של האפליקציה ולשפר את הביצועים של האפליקציה, במיוחד בהפעלה הראשונה. הערה: לא תהיה לכך השפעה על אפליקציות שניתנות לניפוי באגים.

גרסה 1.0.0-beta08

2 ביוני 2021

androidx.compose.material:material-*:1.0.0-beta08 משוחרר. גרסה 1.0.0-beta08 כוללת את ההתחייבויות האלה.

תכונות חדשות

שינוי ב-Behavior Breaking API

  • בעיה בהתנהגות: הכרטיס צורך עכשיו קליקים, וכתוצאה מכך קליקים שנוספו דרך Card(Modifier.clickable) לא מתבצעים באופן תקין. יש להשתמש בעומס יתר ניסיוני חדש של כרטיס שמקבל onClick. (Ia8744, b/183775620)
    • נוסף עומס יתר חדש בכרטיס שמטפל בקליקים, וגם פונקציונליות אחרת הניתנת ללחיצה: אינדיקציה,InteractSource, הפעלה/השבתה. לא הייתה אפשרות להשתמש בכרטיס רגיל שאי אפשר ללחוץ עליו עם Modifier.clickable, כי הכרטיס לא יחתוך את גל הגלים במקרים האלה.
  • שבירה של התנהגות: תכונת 'פלטפורמה' צורכת עכשיו קליקים, וכתוצאה מכך קליקים נוספים דרך Surface(Modifier.clickable) יהיו ללא תפעול. יש להשתמש בעומס יתר ניסיוני חדש של Surface שמקבל onClick. (I73e6c, b/183775620)
    • נוסף עומס יתר חדש ב-Surface, שמטפל בקליקים, וגם פונקציונליות אחרת הניתנת ללחיצה: אינדיקציה, interactionsSource , הפעלה/השבתה. לא ניתן היה להשתמש במשטח רגיל שלא ניתן ללחוץ עליו עם Modifier.clickable כי 'הפלטפורמה' לא תחתוך את ההתוויות 'גלים' במקרים כאלה.

שינויים ב-API

  • הפורמט FabPosition הומר לכיתה רגילה מ-enum כדי לתמוך בהתרחבות פוטנציאלית בעתיד (I030fb)
  • ארגון מחדש של השימושים ב-enum למחלקות מוטבעות כדי להימנע עם הצהרות ממצות נוספו ערכי enum חדשים. (I2b5eb)
  • הוספת זמן קצוב לתפוגה של הקשה לצורך לחיצה או החלפת מצב כדי למנוע הצגת גלים במהלך גלילה או גרירה (Ia2704, b/168524931)
  • מאפייני ContentDescription ו-Text סמנטיקה כבר לא זמינים ערכים בודדים, אלא רשימות. כך אפשר למזג אותם כפי שהם במקום זאת של שרשורי מחרוזות. סופקו גם ממשקי API טובים יותר לבדיקה כדי להשתמש שינויים (Ica6bf, b/184825850)
  • Modifier.focusModifier() הוצא משימוש והוחלף ב-Modifier.focusTarget() (I6c860)
  • FocusState enum הוחלף בממשק עם FocusState (Iccc1a, b/187055290)
  • בוצעה הסרה של LocalRippleNativeRendering עכשיו, לאחר שהטמעת הגלים המגובת בצפייה יציבה (I7fab3, b/188569367)

תיקוני באגים

  • הערך Modifier.onGloballyPositioned() השתנה כדי לדווח על הקואורדינטות של הצירוף הזה בשרשרת הצירוף, ולא על קואורדינטות הפריסה אחרי החלת כל המשנים. המשמעות היא שעכשיו סדר המשנים משפיע על הקואורדינטות שידווחו. (Ieb67d, b/177926591)
  • נוסף קובץ README לקטלוג הקיים של חומרי הלימוד. (If9191)

גרסה 1.0.0-beta07

18 במאי 2021

androidx.compose.material:material-*:1.0.0-beta07 משוחרר. גרסה 1.0.0-beta07 מכילה את התחייבויות אלה.

שינויים ב-API

  • כבר לא צריך להשתמש בשיטות של תוספים לתמיכה במסלול בקטע 'כתיבת ניווט'. (I22beb, b/172823546)

גרסה 1.0.0-beta06

5 במאי 2021

androidx.compose.material:material-*:1.0.0-beta06 משוחרר. גרסה 1.0.0-בטא06 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • אפליקציית Ripple הועברה לשימוש ב-RippleDrawable באופן פנימי במכשירי Android. פירוש הדבר הוא שהאנימציות של הגלים יתבצעו ב-RenderThread, כך שהאנימציות יהיו חלקות גם כשממשק המשתמש של השרשור בטעינה, למשל כשמנווטים בין מסכים. זה לא משנה את פני השטח של ה-API של גל הגלים, אבל ייתכנו שינויים בהתנהגות כתוצאה מהשינוי הזה. כדי לסייע בהעברה, הוספנו את LocalRippleNativeRendering. צריך לציין ערך של false ל-CompositionLocal כדי לחזור להטמעת ה-riple הקודמת בתוך CompositionLocalProvider. ה-API הזה זמני והוא יוסר בעתיד. לכן, אם אתם נתקלים בבעיות שגורמות לכם להשתמש ב-API הזה, אתם יכולים לדווח על באג. (I902f8, b/168777351, b/183019123)
  • נוספו ממשקי API לנגישות ב-CollectionInfo וב-CollectionItemInfo, שמאפשרים לסמן את האוסף והפריטים שלו לשירותי נגישות (Id54ef, b/180479017)
  • נוסף ממשק API לנגישות error שמאפשר לסמן צומת שמכיל קלט לא חוקי (I12997, b/180584804, b/182142737)

תיקוני באגים

  • ההטמעה של קטלוג חומרי הלימוד עודכנה מהכתובת: https://github.com/google/accompanist/pull/365. (I25dc3)
  • שורה ו- צאצאים בעמודה עםweight(fill = false) כבר לא יגרמו להורה למלא את כל השטח הזמין של הציר הראשי. (Ied94d, b/186012444, b/184355105)

גרסה 1.0.0-beta05

21 באפריל 2021

androidx.compose.material:material-*:1.0.0-beta05 משוחרר. גרסה 1.0.0-beta05 מכילה את התחייבויות אלה.

תיקוני באגים

  • נוספו תמונות משבצת של רכיבים, בוחר עיצוב וכתובות URL של תפריטים ספציפיים יותר לקטלוג קיים של חומרי לימוד. (I9b58e)

גרסה 1.0.0-beta04

7 באפריל 2021

androidx.compose.material:material-*:1.0.0-beta04 משוחרר. גרסה 1.0.0-beta04 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינוי ב-API: המצב של DrawerState לא מורחב יותר לניסוי הניסיוני WAPableState.
    • שינוי API: BottomDrawerState מסומן עכשיו כניסיוני, כדי להתאים לרכיב BottomDrawer כבר ניסיוני (I81114, b/181656094)
  • שינוי השם של hideSoftwareKeyboard ושל showSoftwareKeyboard בתאריך SoftwareKeyboardController עד hide() ו-show() בהתאמה.
    • יש לספק את הממשק המלא של CompositionLocal עבור Local SoftwareKeyboardController, שמאפשר להגדיר אותו (במיוחד שימושי בבדיקות) (I579a6)
  • ממשק ה-API לנגישות של אזור LiveRegion נוסף. אם הצומת מסומן כאזור פעיל, שירותי הנגישות יודיע למשתמש באופן אוטומטי על השינויים (Idcf6f, b/172590946)

תיקוני באגים

  • נוספה הטמעה של קטלוג Material Material למודול קיים. חסר כרגע: תמונות משבצת של הרכיבים, בוחר העיצובים (יש להוסיף אותם בשינויים הבאים). (Ie7a94)

גרסה 1.0.0-beta03

24 במרץ 2021

androidx.compose.material:material-*:1.0.0-beta03 משוחרר. גרסה 1.0.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • האפשרות DefaultMonotonicFrameClock הוצאה משימוש. ביצוע שיחה withFrameNanos או Recomposer.runRecomposeAndApplyChanges ללא MonotonicFrameClock יזרק עכשיו את IllegalStateException. (I4eb0d)
  • הוספנו ממשק API חדש LeadingIconTab כדי לתמוך בהצגת סמל וטקסט מוטבעים בכרטיסייה. (I23267)

תרומה חיצונית

  • [מאת חוסי וולף] עכשיו BottomDrawer עוטף את התוכן של החריץ בחלונית ההזזה. אם להורה יש גובה אינסופי, BottomDrawer לא יקפיץ IllegalStateException. אם היא קטנה מ-50% מגודל ההורה, חלונית ההזזה התחתונה תיפתח למצב מורחב. המסמכים ב-BottomDrawerState וב-ModalBottomSheetLayoutState עודכנו. הפונקציה BottomDrawerState#isOpen מחזירה True עכשיו אם היא במצב פתוח או מורחב. (I87241)

גרסה 1.0.0-beta02

10 במרץ 2021

androidx.compose.material:material-*:1.0.0-beta02 משוחרר. גרסה 1.0.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה יצירה מקומית חדשה של LocalSoftwareKeyboardController API להחלפת הממשק הקודם של SoftwareKeyboardController ב- TextField (שדה טקסט). (I5951e, b/168778053)

תיקוני באגים

  • לאכוף הגבלות על שימוש ציבורי בממשקי API ניסיוניים (I6aa29, b/174531520)
  • שיניתם את היישור האופקי המוגדר כברירת מחדל עבור TopAppBar ו-BottomAppBar ל'התחלה', בהתאם לשורה (Ib2dc7)
  • הוספנו מודול חדש וממשק משתמש למעקב אחרי ביקורים לקטלוג של חומרי הלימוד, שכבר מקונן בהדגמות קיימות של בדיקת השילוב. (Idfcb3)
  • הפונקציה androidx.compose.ui:ui לא תלויה יותר ב-AppCompat או ב-Fragment. אם אתם משתמשים ב-ComposeView באפליקציה ואתם משתמשים ב-Fragment ו/או ב-AppCompat, צריך לוודא שאתם משתמשים ב-AppCompat 1.3+ / Fragment 1.3 ואילך – הגרסאות האלה נדרשות כדי להגדיר בצורה נכונה מחזור חיים ובעלים של מצבים שמורים שנדרשים ל-ComposeView. (I1d6fa, b/161814404)

גרסה 1.0.0-beta01

24 בפברואר 2021

androidx.compose.material:material-*:1.0.0-beta01 משוחרר. גרסה 1.0.0-beta01 מכילה את התחייבויות אלה.

זוהי הגרסה הראשונה של גרסת הבטא של 'פיתוח נייטיב' 1.0.0.

שינויים ב-API

  • השמות של ערכי הצירוף של הגודל השתנו. השם של Modifier.width/height/size שונה ל-requiredwidth/requiredHeight/requiredSize. השם של Modifier.Preferredwidth/PreferredHeight/PreferredSize השתנה ל-'width/height/size'. (I5b414)
  • imageResource ו-VectorResource הם עכשיו פונקציות תוסף ב-ImageBitmap ו-ImageVector במודעות נלוות, בהתאמה. load{Image,Vector,Font}פונקציות המשאבים נמחקו. (I89130)
  • מגבילי התאמה של הגודל לפי גורמים פנימיים כבר לא ניסיוניים. (I15744)
  • טענות נכוֹנוּת (assertions) של dp הוסרו (I798d2)
  • הוסרה קריאה חוזרת (callback) של Software KeyboardController מכל הטקסט השדות האלה יוחלפו בקרוב ב-API חדש. (Iae869, b/168778053)
  • lambdas עם מתג, תיבת סימון ולחצן רדיו הערך nullable. דוגמאות לתיבה מסוג 'תיבת סימון' שאפשר ללחוץ עליהן כדי להשתמש בפונקציה הזו . (If601b, b/171819073)
  • הטקסט InteractionState הוחלף בטקסט [Mutable]InteractionSource
    • הממשקים אחראים לפליטה או לאיסוף של אירועי אינטראקציה.
    • במקום להעביר את הערך interactionState = remember { InteractionState() } לרכיבים כמו Button ו-Modifier.clickable(), צריך להשתמש ב-interactionSource = remember { MutableInteractionSource() }.
    • במקום: Interaction.Pressed in interactionState צריך להשתמש בפונקציות התוסף ב-InteractionSource, כמו InteractionSource.collectIsClickedAsState().
    • בתרחישים מורכבים לדוגמה, אפשר להשתמש ב-InteractionSource.interactions כדי לצפות בזרם האינטראקציות. למידע נוסף, אפשר לעיין במסמכים ובדוגמאות של InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • הוספת ממשק של AccessibilityMananger LocalAccessibilityMananger in CompositionLocals (I53520)
  • הוסרו שיטות LayoutCoordinates שהוצאו משימוש, יש להשתמש בפונקציה במקום במאפיין עבור positionInParent ו-boundsInParent (I580ed, b/169874631, b/175142755)
  • עכשיו פס ההזזה תומך במצב מופעל/מושבת (I6d56b, b/179793072)
  • נוצרה TextInputSession חדש לסשנים של קלט מרכיבי טקסט ברמה נמוכה כמו CoreTextField. (I8817f, b/177662148)
  • AnimationEndReason.הפרעה הוסרה. אם האנימציה נקטעת, המערכת תתרחש התעלמות מהביטול. (I2cbbc, b/179695417)
  • בוצעה הסרה של @ExperimentalRippleApi ושינינו את RippleAlpha לכיתה עם מאפיינים במקום ממשק. (I6df7c)
  • נוסף ממשק TextFieldColors שמייצג צבעים שונים שמשמשים ב-TextField וב-OutlinedTextField במצבים שונים. למידע על הטמעת defaut, ראו TextFieldDefaults.textFieldColors ו-TextFieldDefaults.outlinedTextFieldColors
  • הוספת מגביל SelectGroup שמאפשר לסמן איסוף של כרטיסיות או לחצני רדיו למטרות נגישות (Ie5c29)
  • הוספה של LazyListState.animateScrollToItem

    בשיטה הזו, באמצעות גלילה חלקה לפריט ספציפי ברשימה. (I4bfd7)

  • השם של ScrollableState.smoothScrollBy() שונה ל-animateScrollBy() השם של LazyListState.snapToItemIndex() השתנה ל-scrollToItem() השם של ScrollState.smoothScrollTo() השתנה ל-animateScrollTo() (I35d)

  • תכנים קומפוזביליים שמסומנים ב-@ReadOnlyComposable עוברים עכשיו אימות לצורך הידור (compile-time) כדי לוודא שהם שולחים קריאות רק לתכנים קומפוזביליים אחרים של @ReadOnlyComposables (I58961)

  • TargetAnimation API הוסר. (If47d1, b/177457083)

  • המיקום של הגלילה ב-Modifier.verticalScroll()/verticalScroll() מיוצג באמצעות Ints עכשיו (I81298)

  • smoothScrollBy ו ScrollBy methods' החבילות שונו ל-androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)

  • השם של FlingConfig השתנה ל-FliingBehavior, שמאפשר עכשיו להתאים אישית אנימציית השעיה במקום להגדיר מראש 'דעיכה'. (I02b86, b/175294473)

  • השמות של ערכי הצירוף של הגודל השתנו. השם של Modifier.width/height/size שונה ל-requiredwidth/requiredHeight/requiredSize. השם של Modifier.Preferredwidth/PreferredHeight/PreferredSize השתנה ל-'width/height/size'. (I5b414)

  • השם של defaultMinSizeConstraints השתנה ל-defaultMinSize. (I4eaae)

  • הכיוון הועבר לחבילת הבסיס. VelocirtTracker עבר מ-ui.gesture ל-ui.input.pointer. (Iff4a8, b/175294473)

  • חלונית ההזזה.open() ו-חלונית ההזזה-Close() משעות עכשיו פונקציות. משתמשים ב-MemoryCoroutineScope() כדי לקבל את היקף היצירה שצריך לקרוא לה (I16f60, b/175294473)

  • השם 'ספקים' השתנה ל-CompositionLocalProvider

    • ה-Composition constructor לא מקבל יותר פרמטר מפתח, והוא הוצא משימוש.
    • השדה currentCompositeKeyHash הפך לנכס קומפוזבילי ברמה העליונה במקום לפונקציה קומפוזבילית ברמה העליונה.
    • CompositionData ו-CompositionGroup הועברו למרחב השמות androidx.compose.runtime.tooling
    • ComposableLambda נוצרה לממשק במקום למחלקה קונקרטית, והיא כבר לא כוללת פרמטרים של סוג.
    • הגרסה ComposableLambdaN הפכה לממשק במקום למחלקה קונקרטית, והיא כבר לא כוללת פרמטרים של סוג.
    • הפונקציה SnapshotFlow הועברה למרחב השמות androidx.compose.runtime
    • שיטת המיזוג של snapshotMutationPolicy כבר לא ניסיונית
    • פונקציית clearRoots ברמה העליונה @TestOnly הוסרה. אין בו יותר צורך.
    • הפונקציות keySourceInfoOf ו-resetSourceInfo הוסרו. הם כבר לא נחוצים.
    • השדה Composer.collectKeySourceInformation הוסר. אין בו יותר צורך.
    • השיטות isjoinedKey, {1}joinKeyLeft ו-joinKeyRight הוסרו. הם כבר לא נחוצים.
    • ממשקי API שונים ברמה העליונה הועברו וארגנו מחדש בקבצים שונים. בגלל הסמנטיקה של מחלקות הקבצים של Kotlin, זה פוגע בתאימות בינארית אבל לא בתאימות מקורות, ולכן לא אמורה להיות בעיה עבור רוב המשתמשים.
    • (I99b7d, b/177245490)
  • הפעולה של Modifier.scrollable בוצעה מחדש. עכשיו הוא משתמש בממשק שניתן לגלול במקום במחלקה ScrollableController (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable מקבל עכשיו את DraggableState במקום lambda פשוטה. אפשר ליצור מצב דרך rememberDraggableState { delta -> } כדי לקבל את אותה התנהגות כמו קודם (Ica70f, b/175294473)

  • ZoomableController.smoothScaleBy וגם ZoomableController.stopAnimation הם עכשיו פונקציות השעיה. (I7f970, b/177457083)

  • נמחקו כמה ממשקי API שהוצאו בעבר משימוש (Ice5da, b/178633932)

  • בוצעו השינויים הבאים ב-Material API:

    • נוסף פרמטר contentPuter ל-Top/BottomAppBar כדי לאפשר התאמה אישית של המרווח הפנימי שמוגדר כברירת מחדל.
    • סדר הפרמטרים של BackdropScaffold תואם להנחיות ה-API כאשר הפרמטרים הנדרשים מופיעים לפני פרמטרים אופציונליים.
    • הפרמטר icon הועבר ב-BottomNavigationItem אל אחרי selected ו-onClick.
    • השם של הפרמטר alwaysShowLabels השתנה ב-BottomNavigationItem ל-alwaysShowLabel.
    • שינית את השם של הפרמטרים bodyContent בכמה רכיבים ל-content בלבד.
    • הפרמטרים הוסדרו מחדש ב-ButtonDefaults.buttonColors(). לתשומת ליבכם: מכיוון שסוג הפרמטרים לא השתנה, לא תהיה שגיאה בקוד. עליכם לוודא שאתם משתמשים בפרמטרים בעלי שם או לעדכן את הסדר באופן ידני, אחרת הקוד לא יפעל כמו קודם.
    • הפרמטר secondaryVariant נוסף אל darkColors(). הצבע הזה בדרך כלל זהה ל-secondary בעיצוב כהה, אבל הוא מתווסף לעקביות ולהתאמה אישית נוספת.
    • הוסרו הקיצורים HeightionDefaults ו-animate יוצגו() מפלטפורמת ה-API הציבורית כי הם לא היו שימושיים או נפוצים.
    • השם של onValueChangeEnd שונה ב-Slider ל-onValueChangeFinished ולכן השם הוא null.
    • השם של הפרמטר text השתנה בתא Snackbar ל-content לצורך עקביות.
    • הפרמטר contentPadding נוסף אל DropdownMenuItem כדי לאפשר התאמה אישית של המרווח הפנימי שמוגדר כברירת מחדל ויצר את content כתוסף ב-RowScope.
    • השם של ModalDrawerLayout השתנה. השם החדש הוא ModalDrawer.
    • השם של BottomDrawerLayout השתנה. השם החדש הוא BottomDrawer.
    • (I1cc66)
  • BasicTextField מקבל עכשיו שימוש במברשת במקום צבע להתאמה אישית טובה יותר (I83a36)

  • imageResource ו-VectorResource הם עכשיו פונקציות תוסף ב-ImageBitmap ו-ImageVector במודעות נלוות, בהתאמה. load{Image,Vector,Font}פונקציות המשאבים נמחקו. (I89130)

  • שינינו את Indication#createIndication() ל-Indication#rememberUpdatedIndication(InteractionState) והסירו את הפרמטר InteractionState מ-IndicationInstance#drawIndication(). IndicationInstance צריך להיות אחראי רק לשרטוט אפקטים חזותיים, ולא להפעלה של אנימציות או מצב הכתיבה בתגובה לשינויים ב-InteractionState. במקום זאת, האנימציות וכתבי המצב האלה צריכים להתרחש בתוך rememberUpdatedIndication(). גם הפרמטר indication ב-Modifier.indication השתנה לפרמטר נדרש. (Ic1764, b/152525426)

תיקוני באגים

  • נוספה יצירה מקומית חדשה של Local SoftwareKeyboardController צריך להפעיל את ה-API כדי להחליף את הממשק הקודם של SoftwareCategoryController TextField (שדה טקסט). (I658b6, b/168778053)

גרסה 1.0.0-alpha12

10 בפברואר 2021

androidx.compose.material:material-*:1.0.0-alpha12 משוחרר. גרסה 1.0.0-alpha12 מכילה את התחייבויות אלה.

שינויים ב-API

  • מעכשיו, Modifier.pointerInput דורש שימוש במקשי זיכרון כדי לציין כשהקורוטין של זיהוי קלט הסמן צריך להתחיל מחדש של יחסי התלות. (I849cd)
  • BottomDrawerLayout ו-ListItem סומנו כ- @trialMaterialApi (Id766e)
  • נוסף ערך P עתValues.Absolute - וניתן להשתמש בו בממשקי API שמכבדים PservingValues. (Ia5f30)
  • onImeActionPerformed הוצא משימוש. להשתמש ב- KeyboardActions במקום זאת (If0bbd, b/179071523)
  • כדי שהשמות יהיו זהים יותר מוסכמות עם ImageBitmap ו-ImageVector, השם של ImagePainter השתנה ל-BitmapPainter מקביל ל-VectorPainter. (Iba381, b/174565889)
  • Animatable.snapTo ו-Aimatable.stop הן פונקציות השעיה עכשיו (If4288)
  • ElementActivity.setContent עבר אל androidx.activity.compose.setContent androidx.activity:activity-composition. (Icf416)
  • שיטות השמדה ו-Copy() הוסרו מ- מחלקות שבהן נעשה שימוש רק לעיתים רחוקות. (I26702, b/178659281)
  • MakeHalfExpand() ו-Expand() ב-ModalBottomSheetState Internal (Ic914e)
  • שינית את Indication#createInstance ל- @Composable, ושינית את ה-LocalIndication כך שיכלול אינדיקציה, לא () -> סימון. (I5eeea, b/157150564)
  • AlertDialog ותפריט נפתח הועברו ל-Android בלבד. הפרמטר PopupProperties נוסף ל-Dropdownתפריט לצורך הגדרה נוספת של החלון הקופץ הבסיסי. (I9c443)
  • הפרמטר loadFontResource הוצא משימוש. במקומו צריך להשתמש ב-fontResource. imageResource , loadImageResource , vectorResource ו-loadVectorResource הוצאו משימוש. במקום זאת, צריך להשתמש ב- PainterResource. (I6b809)
  • הפרמטרים toggle ו-toggleModifier הוסרו מהתפריט הנפתח, ושינינו את השם של הפרמטרים dropdownModifier, dropdownOffset ו-dropdownContent ל-modifier, ל-offset ול-content בהתאמה. תפריט נפתח פועל עכשיו באופן עקבי ביחס לPopup, ופריסת ההורה משמשת למיקום התפריט. ברוב המקרים, אפשר להעביר את toggle להיות אחות של DropdownMenu וגם לכלול את שניהם ב-Box. מידע נוסף על השימוש ב-API הזה זמין בדוגמה המעודכנת במסמכי התיעוד. (I884fb)
  • השם של toIntPx() השתנה ל-roundToPx(). (I9b7e4, b/173502290)
  • השם של IntBounds שונה ל-IntRect וה-API שופר. (I1f6ff)
  • נוספו פעולות הרחבה וכיווץ של סמנטיקה. תאריך ההוספה הרחב וHalfExpand in ModalBottomSheetState (Ib5064)
  • ה-Modifier.dragmotionFilter הוצא משימוש. במקומה צריך להשתמש במדיניות Modifier.pointerInput { detectDragGestures (...)}. לחלופין, אפשר להשתמש ב-Modifier.draggable לגרירה בציר אחד (I0ba93, b/175294473)
  • שינית את השם של 'סביבה' כך שיתאים לאווירה -> שינוי שם של CompositionLocal. לסביבה (I2d55d)
  • הבחירה הועברה לבסיס. (I7892b)
  • בדומה לאופן שבו הסרנו בעבר תוכן קומפוזבילי state { 0 } ואנחנו מקדמים עכשיו שימוש כמו remember { mutableStateOf(0) }, אנחנו עומדים להסיר את התוכן הקומפוזבילי savedInstanceState { 0 }. במקום זאת, צריך להשתמש בפונקציה rememberSaveable { mutableStateOf(0) } והיא תישמר ותשוחזר באופן אוטומטי אם אפשר לאחסן בחבילה את הסוג שנעשה בו שימוש ב-MutableState. אם בעבר העברת אובייקט חיסכון בהתאמה אישית עכשיו, עליך להשתמש בעומס יתר חדש של קובץ שמור שניתן לשמור, שמכיל את הפרמטר stateSaver. השימוש ייראה כך: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • נוסף ProgressBarRangeInfo.Indeterminate כדי לסמן סרגלי התקדמות לא קבועים בנוגע לנגישות (I6fe05)
  • הרכיב @ComposableContract הוצא משימוש לטובת שלוש הערות ספציפיות יותר.

    • התפקיד של @ComposableContract(restartable = false) השתנה ל-@NonRestartableComposable
    • התפקיד של @ComposableContract(readonly = true) השתנה ל-@ReadOnlyComposable
    • התפקיד של @ComposableContract(preventCapture = true) השתנה ל-@DisallowComposableCalls
    • @ComposableContract(tracked = true) הוסר.
    • (I60a9d)
  • השירותים emptyContent() ו-(@Composable () -> Unit).orEmpty() הוצאו משימוש כי אין להם יותר השפעה חיובית על הביצועים (I0484d)

  • השם של ReSavedInstanceState() השתנה ל-GeminiSaveable() והועבר אל החבילה androidx.compose.runtime.saveable. (I1366e, b/177338004)

  • בוצעה שמירה, listSaver(), mapSaver(), autoSaver הועבר מ-androidx.compose.runtime.savedinstancestate אל androidx.compose.runtime.saveable (I77fe6)

  • השמות של פרמטרים ב- RounderCornerForm , CutCornerForm ו-Corner להביעצורה השתנו משמאל/ימין להתחלה/לסיום, כדי לתמוך בשיקוף האוטומטי של הצורה בכיוון rtl. התחלנו להשתמש ב-AbsoluteRounderCornersha וב-AbsoluteCutCornerForm במקרים שבהם אין צורך בשיקוף אוטומטי. (I61040, b/152756983)

  • הפרמטרים text ו-icon של Tab השתנו, והפרמטר label של BottomNavigationItem יכול להיות ריק (null), כדי לשקף בצורה טובה יותר את התנהגות הרכיב כאשר הפרמטרים האלה או לא סופקו, כי הוא משפיע על הגודל והפריסה של הרכיב. אם אתם מעבירים כרגע את הערך של emptyContent() כך שלא מייצג טקסט / סמל / תווית, צריך להשתמש במקום זאת בפונקציה null. (I57ed4)

  • השם של הפרמטר contentColorFor הצבע שונה ל-BackgroundColor (I5b67)

  • השדה TabDefaults הוצא משימוש והחליף אותו ב-TabRowDefaults. (I0f189)

  • שימוש ב-ColorMatrix API כדי לשנות את ערכי RGB של תוכן המקור Refactored ColorFilter API להיות ולהתאים להטמעה של PathImpact. Ica1e8

  • התכונה מונפשת/Float הוצאה משימוש. צריך להשתמש ב- במקום זאת הוא מיועד לאנימציה. (I71345, b/177457083)

  • יש להוסיף את SemanticsProperties.PaneTitle API. (I20d5a)

  • נוספו פרמטרים פעילים ל-Tab ול-BottomNavigationItem, כדי למנוע לחיצה עליהם. BottomNavigationItem השתנה ל-RowScope.BottomNavigationItem כדי לבטא טוב יותר את דרישות הפריסה שלו ב-API. (Id683d)

  • הוצאנו משימוש את הפרמטר TapתנועותFilter, doubleמקישיםGestureFilter, long, ClicktionFilter ו-pressIndicaitonGestureFilter. במקום זאת, אפשר להשתמש ב-Modifier.clickable או ב-Modifier.pointerInput עם הפונקציה generateמקישים TalkBack. (I6baf9, b/175294473)

  • מוסיפים את הפרמטרDeployDirection אל Form CreateOutline (יצירה של Outline). כך ניתן ליצור צורות בפריסה עם התייחסות לכיוון. (I57c20, b/152756983)

  • בוצעה הסרה של Recomposer.current(). [Abstract]ComposeView עכשיו כברירת מחדל של Recomposers שנוצרו באופן עצלני, ברמת החלון, המבוססים על ViewTreeLifecycleOwner לחלון. הרכב מחדש ו סימוני האנימציה המבוססים על withFrameNanos מושהים במהלך מחזור החיים של המארח הופסק. (I38e11)

תיקוני באגים

  • עכשיו הסמל יוגדל בהתאם לגודלו, בהתאם לשינויי הגודל שהוחלו עליו. לדוגמה, עכשיו Icon(.., modifier = Modifier.size(50.dp) תצייר בגודל של 50x50dp. (Ib2ba9, b/178796190)

גרסה 1.0.0-alpha11

28 בינואר 2021

androidx.compose.material:material-*:1.0.0-alpha11 משוחרר. גרסה 1.0.0-alpha11 מכילה את התחייבויות אלה.

שינויים ב-API

  • קידום של חלק מממשקי ה-API של Material API שכבר לא יהיו @Experimental (I5d20e)
  • הפרמטר של תיאור התוכן נוסף לתמונה ולסמל. הוא משמש כדי לספק תיאור לשירותי הנגישות (I2ac4c)
  • שינוי ממשקי פרמטרים עם שמירת מצב Material לפונקציות @Composable שמחזירות State<T>. הוספת Animatable.asState() כדי להקל על ההמרה של בעלי חיים למצב. בנוסף, שינוי של 'גובה אנימציה' כתוסף השעיה ב-Animatable. (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState כבר לא @ExperimentalMaterialAPI (Id1fb5)
  • משנה את הטיפוגרפיה, הצורות וה-TabPosition כך שלא יהיו יותר סיווגי נתונים. הוספה של פונקציית העתקה לטיפוגרפיה ולצורות כדי להחליף את הטיפוסים שנוצרו. I40037
  • נמחקו כמה ממשקי Material API שהוצאו משימוש (Ifaa25)

תיקוני באגים

  • onCommit , onDispose ו-onActive הוצאו משימוש לטובת ממשקי API של Side Effects ו-Sdisposable Effects (If760e).
  • המעבר מבוסס על העברות שכבר הוצא משימוש (I0ac57)
  • המצב הראשוני ב-updateTransfer נתמך עכשיו (Ifd51d)
  • בוצע יישום מחדש של withConstraints בתור BoxWithConstraints, ולהשאיר את base.layout. (I9420b, b/173387208)
  • הוצאה משימוש של גלילה שאינה מושעית, הסרת גלילה שאינה מושעית

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

  • הוצאה משימוש של smoothScrollBy עכשיו מומלץ להשתמש בפונקציות השעיה כדי לשלוט בגלילה ולהמתין עד שהגלילה תסתיים. אנחנו מוציאים משימוש את הגרסאות שלא מושעות כחלק מהמעבר הזה. (I12880)

  • הצגה של ComposeContentTestRule, עם הרחבה ComposeTestRule ומגדיר את setContent, שהוסר מ: ComposeTestRule. נוספה שיטה להגדרות המקוריות createEmptyComposeRule() שמחזירה ComposeTestRule ולא מפעילה פעילות עבור את/ה. השתמשו בפלח הזה כשתרצו להפעיל את הפעילות שלכם במהלך הבדיקה. לדוגמה באמצעות ActivityScenario.launch (I9d782, b/174472899)

  • כבר לא ניתן להתאים אישית את הדגל שבו נעשה שימוש בלחצנים וב-FloatingActionButton באמצעות הוספת סימון חדש באמצעות AmbientInation. זו אף פעם לא הייתה דרך להתאמה אישית של הרכיבים האלה, ועכשיו הרכיבים האלה תואמים לרכיבי Material אחרים. כדי להתאים אישית 'הדים' באפליקציה, עיין ב-RippleTheme. (I546c5)

  • animateAsState נקרא עכשיו animateFooAsState, שבו Foo הוא סוג המשתנה שמונפש. לדוגמה ציפה, Dp, סטייה וכו' (Ie7e25)

  • BasicTextField קיבל פרמטר חדש בשם decorationBox. השדה הזה מאפשר להוסיף עוד קישוטים כמו סמלים, placeholder, תווית ודברים דומים לשדה הטקסט ולהגדיל את אזור היעד של ההיט. (I16996)

  • תיקון באג שגרם לכך שהרוחב של שדה הטקסט של החומר יהיה קטן מ-280.dp (I78373)

  • הפרמטר canDrag הוסר מה-Modifier.draggable (Ic4bec, b/175294473)

  • יש להסיר את גודל התצוגה (displaySize) כי יש להימנע מכך. בדרך כלל זה עדיף להשתמש בגודל onRoot() או בגודל החלון לפחות. (I62db4)

  • עכשיו אפשר להציג מספר רכיבי צאצא בתצוגה משולבת. (I66a92, b/144488459)

  • inverify ו-CompositionReference() הוצאו משימוש לטובת currentRecomposeScope ו-MemoryCompositionReference בהתאמה. (I583a8)

  • משנה את PopupPositionProvider כדי להשתמש בקואורדינטות יחסיות לחלון, ולא בקואורדינטות גלובליות. משנה את השם של הורהGlobalBounds ל-עוגנות ומשנה את windowGlobalBounds ל-windowSize: IntSize (I2994a)

  • משך הזמן וזמן הפעולה התקינה יוחלפו באלפיות שנייה ארוכות, והשלב הזה מסיר את התלות בקלט של מצביע העכבר הסוגים. (Ia33b2, b/175142755, b/177420019)

  • הוסרה ה-AnimationFloat.fling שמקבלת את FlingConfig. יש להשתמש בהשעיה במקום זאת, Animatable.animateDecay (I4659b, b/177457083)

  • ניתן ליצור עכשיו את האפשרויות שניתן ללחוץ עליהן, להחליף ביניהן או לבחור במצב מחוץ ליצירה (I0a130, b/172938345, b/175294473)

  • ההתאמה השתנתה לממשק פונקציונלי (Ib14e5)

  • התכונות ScrollableColumn/Row הוצאו משימוש. השימוש ב- ScrollableColumn פחות יעיל בהשוואה ל-LazyColumn כאשר יש תוכן בעל גלילה גדולה, מכיוון שב-LazyColumn אנחנו יכולים להרכיב, למדוד/לצייר רק רכיבים גלויים. כדי למנוע ממשתמשים לעבור בצורה לא יעילה, החלטנו להוציא משימוש את ScrollableColumn ו- ScrollableRow ולקדם את השימושים ב-LazyColumn וב-LazyRow. המשתמשים עדיין יכולים להחליט שהם לא צריכים את ההתנהגות המושהית ולהשתמש בערכי הצירוף ישירות באופן הבא: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)

  • שיטת מפעל חדשה items(count: Int) להיקף של LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) ו-itemsIndexed(items: List) הן עכשיו פונקציות של תוספים, לכן צריך לייבא אותן באופן ידני כשמשתמשים בהן. עומס יתר של תוסף חדש עבור מערכים: items(items: Array) ו-itemsIndexed(Array) (I803fc, b/175562574)

  • הוסרה שיטות מונוtonicFrameAnimationClockOf (Ib753f, b/170708374)

  • שיטות קואורדינטות גלובליות שהוצאו משימוש ונוצרו שיטות חדשות לקואורדינטות מבוססות-חלון. (Iee284)

  • נוספה האפשרות Modifier.toolingGraphicsLayer שמוסיף תכונת שינוי של שכבת הגרפיקה כשהבדיקה מופעלת. (I315df)

  • הפוקוסRequester.createRefs מסומן עכשיו כניסיוני, ועשוי להשתנות. (I2d898, b/177000821)

  • השם של SemanticsPropertyReceiver.סתר השתנה ל-invisibleToUser ומסומן כ- @trialComposeUiApi. השם של AccessibilityRangeInfo השתנה ל-ProgressBarRangeInfo. השם של stateDescriptionRange השתנה ל-ProgressBarRangeInfo. השם של AccessibilityScrollState השתנה ל- ScrollAxisRange. השם של EuropeanAccessibilityScrollState השתנה ל-EuropeanScrollAxisRange. השם האנכי של AccessibilityScrollState השתנה ל-verticalScrollAxisRange. (Id3148)

  • להיעזר ב-TestCoroutineDispatcher בבדיקות (I532b6)

  • גרפיקה וקטורית מעודכנת API לתמיכה בניתוח גוון מיושם ברמה הבסיסית (root) של גרפיקה וקטורית. (Id9d53, b/177210509)

גרסה 1.0.0-alpha10

13 בינואר 2021

androidx.compose.material:material-*:1.0.0-alpha10 משוחרר. גרסה 1.0.0-alpha10 מכילה את התחייבויות אלה.

שינויים ב-API

  • מהירות ששונתה כך שתכלול חלקים של רכיבים ונתונים מתמטיים ב-AI. (Ib0447)
  • שינינו את השם של @ExperimentalTesting ועכשיו הוא @ExperimentalTestApi תואם להערות דומות של ה-API הניסיוני (Ia4502, b/171464963)
  • המיקום השתנה ל-DpOffset והסרת את getDestination() (Ib2dfd)
  • Ranamed Color.useOrElse() to Color.takeOrElse() (Ifdcf5)
  • הוספת לחצן החלפת מצב למחרוזת Strings.kt (I4a5b7, b/172366489)
  • ה-Fflowrow ו-FflowColumn הוצאו משימוש. במקום זאת, יש להשתמש בפריסה מותאמת אישית. (I09027)
  • ה-Modifier.focus() ו-Modifier.focusRequester() הוצאו משימוש. במקומו צריך להשתמש ב-Modifier.focusModifier() ו-Modifier.focusReference() . (I75a48, b/175160751, b/175160532, b/175077829)
  • ה-NativeClass הועבר אל של ממשק המשתמש והפך אותו לשימוש פנימי. שימושים מעודכנים ב-NativeClass ב- זהה להטמעות שבהן צריך להשתמש 'is MyClass' במקום זאת. (I4f734)

תיקוני באגים

  • נוספה תמיכה בשדות טקסט מושבתים ובשדות טקסט לקריאה בלבד (I35279, b/171040474, b/166478534)
  • animate() מוחלף עכשיו ב-animateAsState(), שתחזיר State<T> במקום T. כך אפשר לשפר של הביצועים, כי אפשר לצמצם את היקף הפסילה שבו נקרא ערך State (מדינה). (Ib179e)
  • הוספת ה-API של תפקיד סמנטי ומוסיפים את התפקיד 'תפקיד' כפרמטר אל SemanticsModifier ניתן ללחיצה, לבחירה ולהחלפת מצב. בוצע שינוי Modifier.progressSemantics כדי שגם Slider יוכל להשתמש בו. (I216cd)

גרסה 1.0.0-alpha09

16 בדצמבר 2020

androidx.compose.material:material-*:1.0.0-alpha09 משוחרר. גרסה 1.0.0-alpha09 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת ממשק API כדי להפעיל באופן ידני אנימציית הגדרה וגרירה ב-Modifier.sdeleteable (Iaa17a, b/162408885)
  • שינוי השם של אובייקטים *קבועים כמוbuttonConstants, שיסתיים ב-Defaults במקום זאת, כמו כפתורDefaults. בנוסף, מתבצעת הסרה של קידומות מיותרות של default ממאפיינים באובייקטים החדשים האלה. (Ibb915, b/159982740)
  • התכונה 'כתיבה' תומכת בנמעני מאפיינים שיכולים לאפשר הפעלות קומפוזביליות. התמיכה בכך לא תופסק, אבל התחביר להצהרה על נכס getter כ- @Composable משתנה.

    לצורך כך, התחביר שיצא משימוש היה הוספת הערות לנכס עצמו:

        @Composable val someProperty: Int get() = ...
    

    כדי לעשות את זה, התחביר הנכון עכשיו הוא הוספת הערות שמקבל את הנכס:

       val someProperty: Int @Composable get() = ...
    

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

  • נוספה ספריית androidx.compose.material:material-ripple שמכילה ממשקי API של ripple, כדי לאפשר יצירה של רכיבים אינטראקטיביים בלי צורך בשאר ספריית Material. ArchiveRippleIndication הוצא משימוש והוחלף ב-MemoryRipple. (Ibdf11)

תיקוני באגים

  • פקודות Lambda בשינויי היסט עכשיו מחזירות IntOffset במקום Float. (Ic9ee5, b/174137212, b/174146755)
  • ארגון מחדש של ShaderBrush ל- ליצור באופן מדורג מכונת הצללה את גודל המידע בשרטוט הסביבה זמינה. כדאי להשתמש באפשרות הזו כדי להגדיר הדרגה תופסים את גבולות השרטוט המלאים של תוכן קומפוזבילי בזמן היצירה, בלי שיהיה צורך להטמיע הטמעות מותאמות אישית של DrawModifier.

    ממשקי API של constructor של פונקציות הדרגתיות שהוצאו משימוש לטובת שיטות מפעל על אובייקט מסוג Gradient. (I511fc, b/173066799)

  • Modifier.focusObserver הוצא משימוש. במקום זאת, צריך להשתמש ב-Modifier.onFocusChanged או ב-Modifier.onFocusEvent (I30f17, b/168511863, b/168511484)

  • להוציא משימוש את LazyColumnFor, LazyRowFor, LazyColumnForIndexed ו-LazyRowForIndexed. במקום זאת, משתמשים ב-LazyColumn וב-LazyRow (I5b48c)

  • הועבר Dp.VectorConverter, Position.VectorConverter, וכו' אל אנימציית ליבה, והוצאנו משימוש את הגרסה הישנה VectorConveters (If0c4b)

  • הכלי למילוי אוטומטי הוא עכשיו API ניסיוני ומחייב הסכמה (I0a1ec)

  • הוספת הצהרות הרסניות ליצירת מכונות FocusRequester (I35d84, b/174817008)

  • השם של AccessibilityLabel השתנה ל-contentDescription. השם של AccessibilityValue השתנה ל-stateDescription. (I250f2)

  • פונקציית InfiniteRepeatable חדשה ליצירת InfiniteRepeatableSpec (I668e5)

  • התנהגות המיקום של 'תפריטים נפתחים' שונתה מעט בהתאם למפרט Material. (I34c72, b/168594123)

  • נוספה תמיכה ב-InteractionState ב-TextFields. (I61d91)

  • נוסף Modifier.clearAndSetSemantics כדי למחוק צאצאים סמנטיקה ונקבעות חדשות. (I277ca)

  • התוכן של ContentDrawScope הועבר ל-ui-graphics את המודול כדי להיות עם DrawScope. (Iee043, b/173832789)

גרסה 1.0.0-alpha08

2 בדצמבר, 2020

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha08 שוחררו. גרסה 1.0.0-alpha08 מכילה את התחייבויות אלה.

שינויים ב-API

  • העיצוב MaterialTheme מגדיר עכשיו את הצבעים הנכונים עבור נקודות אחיזה שנבחרו ורקע בחירה. אפליקציות שהן לא מהותיות יכולות להשתמש באופן ידני ב-AmbientTextSelectionColors כדי להתאים אישית את הצבעים שנבחרו. (I1e6f4, b/139320372, b/139320907)
  • נוספה בדיקת איתור שגיאות בקוד (lint) בשביל שמות ומיקום של פרמטרים קומפוזביליים של lambda, כדי לבדוק אם יש עקביות להנחיות לכתיבה. בנוסף, חלק מממשקי ה-API הועברו בעזרת children כשם של lambda בסוף, ל-content, בהתאם לבדיקת השגיאות בקוד ולהנחיות. (Iec48e)
  • השם של VectorAsset השתנה ל-ImageVector התפקיד VectorAsset הועבר ונקרא עכשיו Builder to Builder אל להיות מחלקה פנימית של ImageVector, להנחיות של מועצת ה-API. נוספו גופנים של VectorAssetBuilder אל קישור אל ImageVector.Builder לצורך תאימות. (Icfdc8)
  • השם של ImageAsset השתנה וגם שיטות שקשורות ל-ImageBitmap. (Ia2d99)
  • מאפייני סמנטיקה של יסודות הועברו ל-ui (I6f05c)
  • הממשק fun RippleIndication() הוצא משימוש והוחלף ב-rememberRippleIndication() לצורך עקביות עם ממשקי API אחרים. (Id8e2c)
  • נוסף פרמטר singeLine ל-BasicTextField, ל-TextField ול-OutlinedTextField. מגדירים את הפרמטר הזה כ-True כדי ששדה הטקסט יהיה שורה אופקית אחת שניתן לגלול בה. (I57004, b/168187755)

תיקוני באגים

  • הוספת פעולה מסוג semantics Dismiss (I2b706)
  • ממשקי ה-API של DrawModifier הועברו מ חבילת androidx.compose.ui חבילת androidx.compose.ui.draw. נוצר קובץ DrawModifierexcept.kt של כולל טיפוסים או שיטות עזרה שעוזרות את המיגרציה מההוצאה משימוש לגרסה הנוכחית ממשקי API. (Id6044, b/173834241)
  • השם של Modifier.drawLayer השתנה ל-Modifier.graphicsLayer עודכנו גם מחלקות קשורות ל- GraphicsLayer בהתאם משוב מה-API. (I0bd29, b/173834241)
  • בוצעה הסרה של <T> מההצהרה של SubcomposeLayout. עכשיו אפשר להשתמש בו בלי לציין סוג. (Ib60c8)
  • נוסף Modifier.scale// ממשקי API שמשמשים כנוחות ל-DrawLayer.
    • השם החדש של Modifier.drawOpacity הוא Modifier.alpha
    • השם של Modifier.drawShadow שונה ל-Modifier.shadow (I264ca, b/173208140)
  • השם של פרמטר היישור של Box השתנה ל-contentrement. (I2c957)
  • שמות המשנים של offsetPx השתנו כדי לקזז. עכשיו הם מקבלים פרמטרים מסוג lambda במקום State. (Ic3021, b/173594846)
  • הצגה של SweepGradientShader ו-SweepGradientBrush API. (Ia22c1)
  • נוספה בדיקת שגיאות בקוד לפרמטרים של מגביל בפונקציות קומפוזביליות. במהלך בדיקת השגיאות בקוד, המערכת בודקת את השם, סוג ההחזרה, ערך ברירת המחדל והסדר של הפרמטר כדי לוודא שהוא עומד בהנחיות לכתיבה. (If493b)
  • ממשק API של TextFieldValue מעודכן
    • הוגדר לקריאה בלבד של TextFieldValue.composition
    • גורם חריג שהוסר עבור טווח בחירה לא חוקי (I4a675, b/172239032)
  • נוסף עומס יתר חדש של Modifier.drawLayer(). היא לוקחת בלוק lambda ב- GraphicsLayerScope חדש שבו אתם מגדירים את הפרמטרים של השכבה באופן שמאפשר לדלג על הרכבה מחדש ועל שרת ממסר כשמתרחש שינוי מצב. DrawLayerModifier הוא עכשיו כלי פנימי כחלק מההכנה להעברת הלוגיקה שלו אל שיטת placeable.placeWithLayer() של LayoutModifier (I15e9f, b/173030831)
  • אלמנטים של אווירה שהוצאו משימוש, שהשם שלהם הוא Ambient, והוחלפו במאפיינים חדשים עם קידומת Ambient, שעומדים בהנחיות נוספות של Ambients ו-Compose API. (I33440)
  • נוספה בדיקת שגיאות בקוד כדי לוודא שמפעלי הצירוף משתמשים ב-androidx.compose.ui.composed {} באופן פנימי, במקום שמסומנים כ-@Composable. (I3c4bc)
  • השם של הארגומנטים הסמנטיים מ-MergeAllDescendants השתנה ל- MergeDescendants. (Ib6250)
  • בקרת הזמן בבדיקות (TestAnimationClock והשימושים בה) היא עכשיו ניסיוני (I6ef86, b/171378521)
  • מסירים את המודול הישן של בדיקת ה-ui-test ואת התוספת שלו (I3a7cb)
  • השם של TextUnit.Inherit השתנה ל-TextUnit.לא צוינה עקביות עם יחידות אחרות. (Ifce19)
  • הממשק 'יישור' עודכן ופועל כראוי. (I46a07, b/172311734)
  • השם של המזהה השתנה ל-LayoutId עבור LayoutIdParentData. השם של Measurable.id שונה ל-Measurable.layoutId. (Iadbcb, b/172449643)

גרסה 1.0.0-alpha07

11 בנובמבר 2020

androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha07 שוחררו. גרסה 1.0.0-alpha07 מכילה את התחייבויות אלה.

שינויים ב-API

  • השדה 'הדגשה' הוצא משימוש והוחלף ב-AmbientContentAlpha. AmbientContentAlpha הוא הפשטה פשוטה יותר של תוכן האלפא המועדף עבור חלק מההיררכיה, בדומה לאופן שבו AmbientContentColor מייצג את צבע התוכן המועדף. התכונה 'טקסט' ו'סמל' צורכת עכשיו את הערך הנוכחי מ-AmbientContentAlpha כברירת מחדל, ואפשר לבצע ידנית: color.copy(alpha = AmbientContentAlpha.current) כדי להשיג את אותה השפעה על הרכיבים שלך. במקום להשתמש ב-ProvideEmphasis, אפשר פשוט לספק ערך באופן ישיר דרך AmbientContentAlpha, ולהשתמש ברמות ברירת המחדל החדשות ב-ContentAlpha כדי להחליף את EmphasisLevels הישנים. (Idf03e, b/159017896)
  • הוספה של androidx.compose.material.AmbientContentColor שיחליף את androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770)
  • הפונקציה מוסיפה androidx.compose.material.Text כדי להחליף את androidx.compose.foundation.Text כרכיב טקסט ברמה גבוהה שניתן לעיצוב. לרכיב טקסט בסיסי שלא צורך צבע או סגנון טקסט מהעיצוב, צריך להשתמש ב-BasicText. Ie6ae0
  • נוספו maxLines ל-TextFields (Ib2a5b)
  • צריך לעדכן את TextFields כדי לקבל את השימוש ב- KeyboardOptions (Ida7f3)
  • פני השטח משתמשים כעת בגובה המוחלט (סה"כ) בחישוב שכבות-על של גובה, לכן משטח בתוך שטח אחר ישתמש בגובה המשולב כדי לשרטט את שכבת-העל. (I7bd2b, b/171031040)

תיקוני באגים

  • captureToBitmap הועברו אל captureToImage. (I86385)
  • היסודות AmbientTextStyle, ProvideTextStyle ו-AmbientContentColor הוצאו משימוש. במקום זאת, כדאי להשתמש בגרסאות החדשות שזמינות בספריית Material. באפליקציות שאינן חומרים, עליכם ליצור סביבה ספציפית למערכת עיצוב משלכם שתוכלו להשתמש בה ברכיבים שלכם. (I74acc, b/172067770)
  • Foundation.Text הוצא משימוש והוחלף ב-material.Text. בכתובת androidx.compose.foundation.BasicText. (If64cb)
  • שינוי השם של KeyboardOptions ל-ImeOptions (I82f36)
  • KeyType ו-ImeAction הועברו אל KeyboardOptions (I910ce)
  • BaseTextField הוצא משימוש. במקומו צריך להשתמש ב-BasicTextField. (I896eb)
  • הוסרה הערה ניסיונית SubcomposeLayoutApi עכשיו אפשר להשתמש ב-SubcomposeLayout בלי להוסיף @OptIn (I708ad)
  • FirstBaseline ו-LastBaseline הועברו לחבילת androidx.compose.ui.layout (Ied2e7)
  • ממשק ה-API של הסמל עודכן כדי לכלול את Color.Unspecified בתור צבע אפשרי לגוון שיצייר את נכס או צייר ללא ColorFilter. בעבר מנסה להתעלם מגוון הצבע.לא צוין יהפוך לצבע שקוף בסוף כך שלא יוצגו שום דבר. (I049e2, b/171624632)
  • השם שלמידע 'יחסי גובה-רוחב' השתנה ל-'מרווח מרווח פנימי'. נוסף ערך הצירוף באנגליתFromBaseline – כדי לציין מרחקים מגבולות פריסה ועד לערכי טקסט בסיסיים. (I0440a, b/170633813)
  • השם של LaunchedTask השתנה ל-LaunchedImpact כדי לשמור על עקביות בשילוב עם ממשקי ה-API של Side Effects ו-Seposable Effects. הופעל ללא אין להשתמש בפרמטרים של נושא כדי לעודד שיטות מומלצות. (Ifd3d4)
  • הכלי Measurement result הוסר מ-MeasureScope. (Ibf96d, b/171184002)
  • כמה סמלים שקשורים לפריסה הועברו מ-androidx.compose.ui ל-androidx.compose.layout.ui. (I0fa98, b/170475424)

גרסה 1.0.0-alpha06

28 באוקטובר 2020

androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha06 שוחררו. גרסה 1.0.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • androidx.compose.foundation.Icon הועבר אל androidx.compose.material.Icon. אפשר גם להשתמש ברכיב התמונה / Modifier.Paint() עם Painter אם לא רוצים להשתמש בספריית Material. (I9f622)
  • הפונקציה מוסיפה FloatingActionButtonElevation לייצג את הגובה שמשמש את FAB במדינות שונות. הסבר על הטמעת ברירת המחדל (I2d4f5):
  • הוספת ממשק SwitchColor לייצוג הצבעים שבהם נעשה שימוש במתג במצבים שונים. כדי להתאים אישית את הצבעים האלה, ראו SwitchConstants.defaultColors. I93805
  • הוספת ממשקים של גובה לחצנים ו-buttonColors לייצוג גובה וצבעים שבהם משתמשים לחצנים במצבים שונים. כדי להתאים אישית את הפרמטרים האלה, אפשר לעיין בפונקציות ברירת המחדל ב-buttonConstants. (Ic5b7b)
  • מוסיף ממשק RadioButtonColors לייצוג הצבעים שבהם נעשה שימוש ב-RadioButton במצבים שונים. ניתן לעיין ב-RadioButtonConstants.defaultColors() כדי להתאים אישית את הצבעים שבהם נעשה שימוש במצבים שונים. I74130
  • הוספת ממשק CheckboxColors לייצוג צבעים שבהם משתמשים תיבות סימון במצבים שונים. כדי להתאים אישית את הצבעים שבהם משתמשים במצבים שונים, ראו CheckboxConstants.defaultColors() . (I7dbdb)

תיקוני באגים

  • רכיבי החומר לא מגדירים יותר את הגובה כ-zIndex. כלומר, בתוך אותו הורה, הילד עם הצללית הגדולה לא ייצייר אוטומטית על הילד עם הצללית הקטנה. אם עדיין דרושה לך התנהגות כזו, עליך להגדיר את Modifier.zIndex() באופן ידני במקרה הצורך (I70417, b/170623932)
  • הוצאה משימוש של VectorPainter ב- מעדיפים להיזכר ב-VectorPainter לציין שה-API הקומפוזבילי באופן פנימי משתמשת ב'זכור' לשמירת נתונים לאורך של יצירות. (Ifda43)
  • הפעלת מעברים ב-ComposeTestRule; הסרת האפשרות כדי להפעיל את הסמן המהבהב מ-ComposeTestRule. (If0de3)
  • נוספה אפשרות של מקלדת בשורה אחת ל-CoreTextField (I72e6d)
  • השם של ה-API של רדיוס שונה לשם פינתי כדי להביע טוב יותר האופן שבו נעשה בו שימוש במהלך הכתיבה. התיעוד עודכן כדי לציין שרדיוס הפינות השלילי מוצמד לאפס. (I130c7, b/168762961)
  • ארגון מחדש של היקף השרטוט, ContentDrawScope לשימוש בממשקים במקום בשיעורים מופשטים
    • נוצרה הטמעת CanvasDrawScope של DrawScope
    • הטמעות מחדש של DrawScope כדי להשתמש במקום זאת ב-CanvasScope
    • נוצר DrawContext כדי לכווץ יחסי תלות עבור DrawScope
    • הוסרו שיטות שהוצאו משימוש ב-DrawScope (I56f5e)
  • התיבה הפכה לפונקציה מוטבעת. (Ibce0c, b/155056091)

גרסה 1.0.0-alpha05

14 באוקטובר 2020

androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha05 שוחררו. גרסה 1.0.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • מעכשיו, חלונות קופצים ותיבות דו-שיח יורשים את FLAG_SECURE מחלון ההורה. נוספה גם אפשרות להגדיר את זה באופן מפורש (I64966, b/143778148, b/143778149)
  • כברירת מחדל, ל-Modifier.sslideable יש ערכי סף של 56.dp למדינות (Iab825, b/168610267)
  • כל מצבי הפיגומים שמסומנים כ- @Stable. תנועות שהופעלו ב-ScaffoldState הועברו ל-Scaffold עצמו. (I36645, b/168297016)
  • פונקציה זו מסירה סוג אפס (null) מפרמטרים של Scaffold lambda, ואפשר להשתמש ב-EmptyContent() כדי לא לייצג תוכן עבור פרמטר נתון. (I2b318, b/157633857, b/158551084)
  • מוציא משימוש את ממשקי ה-API של contentColor() ו-currentTextStyle() , ומחליף אותם בסביבה של AmbientContentColor ו-AmbientTextStyle בהתאמה. אפשר לגשת לערך הנוכחי באמצעות שימוש ב-.current בנכס האווירה, כמו בכל סוג אחר של אווירה. השינוי הזה בוצע כדי לשמור על עקביות ולמנוע מצבים שבהם כמה דרכים להשיג את אותו הדבר. בנוסף, השמות של חלק ממאפייני האווירה השתנו כדי לתאר טוב יותר את המטרה שלהם:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> אינדיקטור של אווירה
    • הדגשה -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
  • ההגדרה מוסיפה את AmbientElevationOverlay, מאפשרת התאמה אישית או השבתה של שכבת-העל של גובה ברירת המחדל שהוחלה על 'פלטפורמות' בעיצוב כהה. (I5b74d)

תיקוני באגים

  • כחלק מתקן של ערכי סנטינל למחלקות מוטבעות, שינוי השם של Color.Unset ל-Color.Unspecified לעקביות עם מחלקות אחרות בתוך שורה (I97611, b/169797763)
  • TextOverflow.None. כאשר האפשרויות הנוספות הן 'ללא', הטקסט לא יטפל יותר בגלישה וידווח על הגודל שלו בפועל ל-LayoutNode. (I175c9, b/158830170)
  • השם שלlaunchInComposition השתנה ל-LaunchedTask כדי להתאים לכתיבה הנחיות ל-API (I99a8e)
  • השם של OnPositionedModifier שונה ל-OnGloballyPositionedModifier ו-onPositioned() השתנה ל-onGloballyPositioned(). (I587e8, b/169083903)

גרסה 1.0.0-alpha04

1 באוקטובר 2020

androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha04 שוחררו. גרסה 1.0.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • חושפת פרמטרים של InteractionState ברכיבי Material בעלי שמירת מצב, כדי לאפשר העלאת המצב וקריאה / שליטה במצב. (Iaca5f, b/168025711, b/167164434)
  • שינוי הפרמטרים *color ב-RadioButton וב-TriStateCheckbox כדי לאפשר התאמה אישית מלאה של הצבעים בכל מצב, וגם שינוי של אופן האנימציה של הצבעים בין המצבים, לפי הצורך. למידע נוסף, כדאי לעיין בפונקציות הצבע החדשות animateDefault* ב-CheckboxConstants וב-RadioButtonConstants. (I1c532)
  • שינינו את השם של SaveBackdropState ל-MemoryBackdropScaffoldState והוסיף עוד פרמטר לשעון האנימציה. שינו את השם של הפרמטר BackdropScaffoldState of BackdropScaffold אל רק scaffoldState. השם השתנה BackdropConstants ל-BackdropScaffoldConstants. (Ib644d)
  • נוסף רכיב BottomSheetScaffold הניסיוני. (Ie02f0, b/148996320)
  • נוסף רכיב ניסיוני של ModalBottomSheetLayout. (Ic209e, b/148996320)
  • משנה את השם של BluetoothConstants/FloatingActionButtonConstants.defaultAnimatedElevation ל-defaultbroadion (גובה ברירת המחדל) ולאחר מכן מחזירה ערך Dp במקום An AnimatedValue. (I5f3ed)

תיקוני באגים

  • עודכנו ממשקי API לגרפיקה רבים
    • קנה המידה והסיבוב עודכנו של ממשקי API לטרנספורמציה כדי לצרוך פרמטר הסטה לייצוג הציר קואורדינטות במקום מספר ממשי (float) נפרד לקואורדינטות של ה-x/y DawScope ו-DawTransform
    • הוסרו Rect.expandToInclude ו-Rect.join הוסרו אמצעי תשלום
    • תיעוד הרדיוס עודכן ועכשיו הוא אובלי בנוסף למכשיר אליפטי
    • נוסף תיעוד כדי לציין מבנה ציבורי של הרדיוס המוטבע לא ניתן להתקשר ישירות לכיתה, אלא יש ליצור אובייקטים מסוג רדיוס באמצעות את בונה הפונקציות שלהם
    • הוסרו ממשקי ה-API של RoundRect להרצת שאילתה topRight, belowRight, belowCenter וכו'.
    • Rect.shift הוצא משימוש לטובת Rect.Translate
    • ממשקי ה-API של RoundRect.grow ו-Rect.shrink הוסרו
    • השם של RoundRect.outerRect השתנה ל-Rect.boundingRect
    • הוסר: RoundRect.middleRect/tallMiddleRect/wideMiddleRect ו-Rect.isStadium
    • השם של RoundRect.longestSide השתנה ל-RroundRect.maxMetric
    • השם של RoundRect.shortestSide השתנה ל-RroundRect.min קובצי
    • בוצע שינוי של RoundRect.center כנכס במקום לפונקציה
    • עדכן את constructor של RoundRect כדי לצרוך מאפייני רדיוס במקום פרמטרים בודדים לערכי רדיוס של x/y
    • הוסרו ממשקי ה-API של 'גודל' שהניחו שמדובר במלבן עם המקור ב-0,0
    • נוסף לרדיוס ממשק API השמדה
    • פונקציות שונות של תוספים מסוג RoundRect הועברו נכסים במקום זאת
    • (I8f5c7, b/168762961)
  • Foundation.Box הוצא משימוש. במקומם צריך להשתמש ב- הטעינה הקמפיין base.layout.Box. (Ie5950, b/167680279)
  • שם המקבץ השתנה ל-Box. התיבה החדשה (Box) הקודמת תוצא משימוש ותחליפ את Box החדש ב-Compose.foundation.layout. המבנה החדש של Box הוא מקבצים ילדים אחד על גבי השני, כאשר יש לו כמה בנים. ההבדל הזה שונה מאופן הפעולה של התיבה הקודמת, שהתנהגה כמו עמודה מסוג 'עמודה'. (I94893, b/167680279)
  • הפרמטרים לקישוט התיבות הוצאו משימוש. אם רוצים להוסיף קישוטים או מרווח פנימי לתיבה, אפשר להשתמש במקום זאת במגבילי התאמה (Modifier.background, Modifier.border, Modifier.שטח ) (Ibae92, b/167680279)
  • עודכנו ממשקי API לגרפיקה רבים
    • ממשקי ה-API של DrawScope עודכנו עם היקף ההרשאות שיטות טרנספורמציה כדי לציין מיושמת רק במסגרת הקריאה החוזרת (callback) והוסרה לאחר הפעלת הקריאה החוזרת
    • תיעוד מעודכן של ClatPath מתייחס ל'נתיב' במקום מלבן מעוגל
    • תוקן הריווח בתיעוד של הפרמטר הימני ב-ClipPath
    • השם של DrawScope.drawCanvas שונה ל-DockIntoCanvas ו הוסר פרמטר המידה
    • שינית את השם של הפרמטרים dx/dy בשיטת Inset ל- אופקי ואנכי
    • נוסף עומס יתר של הפניה שחוזרת על עצמה ערך פנימי לכל 4 הגבולות
    • התיעוד הוסר משיטת ההטמעה, שמציין כי את כניסת הפיסקה תחול על כל 4 הצלעות
    • תיעוד מעודכן לכיתת Rect
    • התגובות בפרמטרים של Rect עודכנו כך שיתאימו ל-kdoc בסגנון
    • הוסרו Rect.join ו-Rect.expandToInclude
    • נוצר עומס יתר עבור Rect.Translate(offset) ו- Rect.shift הוצא משימוש
    • (If086a, b/167737376)
  • מנענו ייבוא סטטי של תוכן של היקפי פריסה (למשל, ⌘WithSiblings ב-RowScope). במקום זאת, צריך להשתמש בחלופה של ההיקף המפורש: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

גרסה 1.0.0-alpha03

16 בספטמבר 2020

androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha03 שוחררו. גרסה 1.0.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • משנה את שם הפרמטר onSelect של BottomNavigationItem ל-onClick (I91925, b/161809324)
  • הוספת הפרמטר InteractionState ל-BottomNavigationItem ול-Tab, שמאפשר להעלות את המצב הזה ולשנות את האופן שבו הרכיב מופיע במצבים שונים. (Ia3e9e, b/168025711)
  • הסרת פרמטרים מסוג disabledBackgroundColor ו-disabledContentColor מהלחצנים. במקום זאת, צריך להשתמש בפונקציות הצבע החדשות שמוגדרות כברירת מחדל ב-buttonConstants. אם כבר הגדרתם את contentColor /BackgroundColor באופן מפורש, עליכם להשתמש בפונקציות ברירת המחדל האלה ולהתאים אישית חלק או את כל הפרמטרים כדי להימנע מהחלפת הצבע בשני מצבי ההפעלה והמושבת. (If9b52)
  • צבע הרקע של Textfield כבר לא מחיל את אלפא של השקיפות. במקום זאת, כל צבע שסופק באמצעות הפרמטרBackgroundColor יוחל ישירות. (Iecee9, b/167951441)
  • השם של InnerPating השתנה ל-PservingValues. (I195f1, b/167389171)
  • הפרמטרים resistanceFactorAtMin ו-resistanceFactorAtMax ב-Modifier.swipeable הוחלפו בפרמטר התנגדות אחד. שיטת defaultResistanceConfig חדשה נוספה ב-SwipeableConstants. (I54238)
  • הוספת תמיכה מונפשת מבחינת גובה עם מצבים בלחצן ובלחצן FloatingAction. עכשיו מתבצעת אנימציה של הגובה בין מצב ברירת מחדל למצב דחוס. כדי להתאים אישית את הגובה בין המדינות, צריך להשתמש ב-ButtonConstants.defaultAnimatedElevation() וב-FloatingActionButtonConstants.defaultAnimatedElevation() במקום להגדיר ערך Dp שטוח בכל המקרים. (I37925)
  • התווית הפכה לפרמטר אופציונלי ב-TextField ו-OutlinedTextField (I267f6, b/162234081)

תיקוני באגים

  • פונקציות בדיקה גלובליות כמו onNode או waitForIdle הוצאו משימוש, נא לעבור לשימושים החדשים שמוגדרים ComposeTestRule (I7f45a)
  • הוצאנו משימוש את DpConstraints וממשקי ה-API שמשתמשים בהם. (I90cdb, b/167389835)
  • השמות של הפרמטרים minwidth ו-maxwidth ofwidthIn השתנו ל'min' ו-'max'. באופן דומה עבור preferenceswidthIn, HighIn, preferenceHeightIn. (I0e5e1, b/167389544)
  • הסרת פעולות של גלילה קדימה או אחורה. שלבים שנוספו ב-AccessibilityRangeInfo. (Ia47b0)
  • שמות השימושים בכוח הכבידה שונו באופן עקבי כדי ליישר קו או ליישר קו בממשקי ה-API לפריסה. (I2421a, b/164077038)
  • נוספו onNode ושיטות גלובליות אחרות ב-ComposeTestRule בתור הן הגלובליות הנוכחיות יוצאו משימוש. (Ieae36)
  • createAndroidComposeRule ו-AndroidInputDispatcher הועברו מ- androidx.ui.test.android עד androidx.ui.test (Idef08, b/164060572)

גרסה 1.0.0-alpha02

2 בספטמבר 2020

androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha02 שוחררו. גרסה 1.0.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף רכיב ניסיוני של BackdropScaffold. (Iad908)

תיקוני באגים

  • המטריצה 4 הוחלפה ב-'מטריצה'. כל שאר החלקים הוסרו מחבילת הווקטורים. (Ibd665, b/160140398)

גרסה 1.0.0-alpha01

26 באוגוסט 2020

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ו-androidx.compose.material:material-icons-extended:1.0.0-alpha01 שוחררו. גרסה 1.0.0-alpha01 מכילה את התחייבויות אלה.

בעיה ידועה

= לא ניתן להסיר את התו הראשון בחומר TextField באמצעות מקש Backspace (b/165956313)

גרסה 0.1.0-dev

גרסה 0.1.0-dev17

19 באוגוסט 2020

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ו-androidx.compose.material:material-icons-extended:0.1.0-dev17 שוחררו. גרסה 0.1.0-dev17 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • הוסרו מילות המפתח RadioGroup ו-RadioGroupItems שהוצאו בעבר משימוש. במקומו צריך להשתמש ב-Row וב-RadioBotton (I381b7, b/163806637)
  • הוסרו קריאות חוזרות של onFocusChanged מ-TextField. במקומו צריך להשתמש ב-Modifier.focusObserver. (I51089, b/161297615)
  • הממשק Modifier.drawBorder הוצא משימוש. במקומו צריך להשתמש ב-Modifier.border. סיווג נתוני הגבול הוחלף ב-BorderStroke (I4257d, b/158160576)
  • השתנו השמות של חלק מהמאפיינים ב-SlideableState: spaymentTarget -> targetValue, התקדמות החלקה -> התקדמות, להחליק Direction -> לכיוון מסוים. נוספה פונקציית זיכרון (MemoryסוגableState) שמונעת יצירה ב-SSlidesableStates. (I2fc9c, b/163129614, b/163132293)
  • נוספה תמיכה בסרגל כרטיסיות עם מיקום ותור נכון. אפשר לגשת אליו דרך פונקציית ההשעיה של SnackbarHostState.showSnackbar. בנוסף:
    • רכיבי SnackbarHost נוספו. היא מארחת סרגלי נשנושים בהתאם למדינה, והיא אחראית למעבר בין הכרטיסיות.
    • הוספנו את SnackbarHostState כדי לאפשר שליטה במארחים של סרגלי אינטראקטיבי (snackbarHostState) ובחלוקה שלהם ל-SnackbarHostState. אפשר לגשת למצב הזה גם דרך scaffoldState.snackbarHostState.
    • נוסף עומס יתר של סרגל הצד, כדי לתמוך בממשק משותף בין FeedbarHostState לבין הסרגל האינטראקטיבי עצמו. (I79aaa)
  • הוספת הפרמטר שהופעל ל-iconButton, וסידור מחדש של הפרמטרים ב-iconToggleButton (I0a941, b/161809385, b/161807956)
  • הוסרה גרסת ListItem עם API מבוסס-מחרוזות. במקום זאת, אפשר להשתמש בגרסת המשבצת. (Ib8f57, b/161804681)
  • הוסר רכיב FilledTextField שהוצא משימוש. במקום זאת, יש להשתמש ב-TextField כדי לקבל יישום של עיצוב Material Design של שדה הטקסט הממלא. (I5e889)
  • התכונה AlertDialog משתמשת עכשיו ב-FflowRow עבור לחצנים (I00ec1, b/161809319, b/143682374)
  • נוספו פרמטרים ב-Modifier.sdeleteable כדי לשנות את הכמות של התנגדות בזמן שמחליקים מעבר לגבולות. הפרמטרים של הערך [min/max]הוסרו. (I93d98)
  • נוסף הפרמטרBackgroundColor נוסף ל-LinearProgressIndicator והסרת המרווח הפנימי הפנימי מ-CircularProgressIndicator. נוספה ProgressIndicatorConstants.DefaultProgressAnimationSpec חדש, שיכול לשמש כפרמטר ברירת המחדל של האנימציה (If38b5, b/161809914, b/161804677)
  • הפרמטר האופציונלי velocityThreshold נוסף אל Modifier.sdeleteable. (I698ba)
  • belowBarSize, fabSize ואחרים לא זמינים יותר ב-ScaffoldState. במקום זאת, צריך להשתמש ב-Modifier.onPosition ברכיב שרוצים לדעת מה הגודל שלו. רכיבי contentColor ו-Modifier נוספו ל-Scaffold (Ic6f7b, b/161811485, b/157174382)
  • משנה את השם של חלק מהפרמטרים בכרטיסייה Tab כדי לשמור על עקביות עם ממשקי API אחרים (Ia2d12, b/161807532)
  • היא מפצלת את TabRow ל-TabRow ו- ScrollableTabRow, ומסירים את האפשרות isScrollable מ-TabRow. בנוסף, חושף את הקצוות שוליים ב- ScrollableTabRow, שמאפשר שליטה על השטח הפנוי לפני או אחרי הכרטיסיות. (I583e8, b/161809544)
  • האובייקט TabRow הוסר והחליף אותו ב-TabConstants. השדה TabRow.TabPosition הועבר לרמה העליונה (TabPosition), והשם של IndexContainer השתנה ל-indicator. בדוגמאות ובמסמכי התיעוד אפשר למצוא מידע מפורט על אופן השימוש בממשק ה-API המעודכן ובהגדרות ברירת המחדל. (I54d45, b/161809544)
  • פרמטר הסף ב-Modifier.sslideable שונה; זה עכשיו לוקחת זוג מצבים (מסוג T) ומחזירה את הסף ביניהם בפורמט ThresholdConfig. נוסף ערך סף של פרמטר אל SlidesToDismiss, שהוא lambda (DismissDirection) -> ThresholdConfig. (Ie1080)
  • פס ההזזה כולל יותר צבעים להתאמה אישית מפורטת (I73e64, b/161810475)
  • השם של פרמטר הצבע של הכרטיס השתנה ל-BackgroundColor (I01fc1, b/161809546)
  • בסרגל הכלים של Google יש עכשיו צבעי רקע ותוכן שאפשר להתאים אישית (I238f2, b/161804381)
  • הפרמטרים להתאמה אישית של Adjust, backgroundColor, contentColor ו-scrimColor נוספו ל-Dueers (I23655, b/161804378)
  • התוכן הקומפוזבילי state { ... } הוצא משימוש לטובת קריאות מפורשות אל remember { mutableStateOf(...) } לשם הבהרה. כך יצטמצמו פלטפורמת ה-API ואת מספר המושגים ברמת המדינה ניהול, שתואם לדפוס by mutableStateOf() של הכיתה להעניק גישה לנכסים. (Ia5727)
  • השם של פרמטר המרווח הפנימי של הלחצן השתנה ל-contentPגנים (Id252e, b/161809394)
  • הוספת רכיב תוכן ניסיוני של WAPToDismiss. (I129e5)

תיקוני באגים

  • בוצעה הסרה של onChildPositioned ושל OnChildPositionedModifier. מפתחים צריכים להשתמש ב-onPositioned וב-OnPositionedModifier בפריסת הצאצא. (I4522e, b/162109766)
  • נוספה מדיניות מיזוג המדיניות lambda ל-SemmanticsPropertyKey. סוג הפריט יכול להיות משמש להגדרת מדיניות מותאמת אישית לסמנטיקה של מיזוגAllDescendants מיזוג. מדיניות ברירת המחדל היא להשתמש בערך ההורה אם כבר קיים, אחרת ערך הצאצא. (Iaf6c4, b/161979921)
  • IntSize היא עכשיו מחלקה מוטבעת (I2bf42)
  • השם של PlacementScope.placeAbsolute() השתנה ל-PlacementScope.place(), והשם הקודם של PlacementScope.place() השתנה ל-PlacementScope.placeRelative(). כתוצאה מכך, השיטה PlacementScope.place() לא תשקף יותר את המיקום באופן אוטומטי בהקשרים של מימין לשמאל. אם רוצים, משתמשים במקום זאת ב-PlacementScope.placeRelative(). (I873ac, b/162916675)
  • גבולות PxBound שהוצאו משימוש ב- לטובת Rect. עודכנו כל השימושים של PxBounds עם rect הוצאה משימוש/החלפה עם הערות שעוזרות מיגרציה. (I37038, b/162627058)
  • השם של RRect השתנה ל-RroundRect כך שיתאימו טוב יותר לדפוסי השמות של הכתיבה יצרו בנאים של פונקציות דומות לפונקציית RRect שהוצאה משימוש constructors (I5d325)

גרסה 0.1.0-dev16

5 באוגוסט 2020

androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ו-androidx.compose.material:material-icons-extended:0.1.0-dev16 שוחררו. גרסה 0.1.0-dev16 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • צבעים הם עכשיו מחלקה סופית במקום ממשק. במקום להרחיב ולספק הטמעה מותאמת אישית, כדאי ליצור אווירה חדשה לאובייקט העיצוב המותאם אישית ולגשת לאובייקט העיצוב דרך האווירה החדשה ברכיבים שלכם, בדומה לאופן שבו MaterialTheme פועל באופן פנימי. (Ibae84)
  • השם של ColorPalette שונה ל-Colors כדי למפות בצורה טובה יותר למערכת הצבעים של Material ולהסיר בלבול כש-ColorPalette הוא 'גנרי' שלהם, בניגוד ליישום ספציפי של מערכת הצבעים של Material. בנוסף, השמות של LightColorPalette ו-DarkColorPalette השתנו ל-LightColors ו-DarkColors בהתאמה. (I9e976, b/161812111)
  • משנה את השם של הפרמטר text של BottomNavigationItem ל-label, onSelected ל-onSelect, activeColor ל-selectedContentColor ול-inactiveColor ל-unselectedContentColor ולעדכון סדר הפרמטרים בהתאם להנחיות. (Icb605, b/161809324)
  • בוצע שינוי מלא ב-Modifier.stateDraggable והשם שלו השתנה אל Modifier.sslideable. הושקה מחלקה חדשה של WAPableState, השדות של DrawerState ו-BottomDrawerState עברו ארגון מחדש והרשת ביניהם בירושה. [Modal/Bottom]DrawerLayout כבר לא מקבלת פרמטר onStateChange. (I72332, b/148023068)
  • base.shape.corner package were Flaten to Foundation.share (I46491, b/161887429)
  • נוספה הערה מסוג MaterialApi. RippleTheme מסומן כניסיוני (Ic5fa0, b/161784800)
  • השם של Material FilledTextField השתנה ל-TextField והשם של TextField השתנה ל-BaseTextField כדי שיהיה קל לגלות את ה-API הרצוי ולהשתמש בו (Ia6242, b/155482676)

תיקוני באגים

  • ה-OnChildPositioned הוצא משימוש. שימוש ב-OnPositioned על הילד או הילדה. (I87f95, b/162109766)
  • כתובות לתיקונים רחבים ב-API (I077bc)
    1. הסרת ממשק OffsetBase שאינו בשימוש
    2. יישרו מחלקות אחת (Offset) ו-IntOffset כדי פלטפורמת API עקבית
    3. שינוי השם של IntOffset.Origin ל-IntOffset.Zero להיות עקביים עם Offset API
    4. שיטת NativeCanvas הועברה מלוח הציור ממשק לתמיכה בצרכנים כדי ליצור מופעי בד קנבס משלך
    5. נוצרה כיתת stub EmptyCanvas כדי לארגן מחדש DrawScope להיות פרמטר שאינו אפס במקום מאוחר יותר ולוודא שהשדה אינו null
    6. השם של ClipOp enum השתנה ל'מקרה פסקל'
    7. שם המסנן השתנה ל'מקרה פסקל'
    8. שינינו את השם של StrokeJoin enums ל-Pascal Case
    9. השם של 'טיפוסים בני מנייה (enum)' השתנה ל'מקרה של פסקל'
    10. השם של enums ב- PaintingStyle השתנה ועכשיו הוא מקרה פסקל
    11. השם של PathFillType השתנה לאותיות פסקל
    12. השם של טיפוסים ב-StrokeCap השתנה לאותיות פסקל
    13. היישום של DrawCache עודכן ועכשיו הוא לא קיים יותר להשתמש בפרמטרים 'בהשהיה'
    14. בוצע עדכון של DrawScope לשימוש בהענקת גישה מדורגת לפרמטרים פנימיים של fullPaint ו-streamPaint
    15. התמונה הקומפוזבילית עודכנה כדי להימנע משימוש ב-Box למשך פחות תקורה
    16. עדכנו את הכיתה ב-Outline ועכשיו יש בה הערות @Immutable
    17. PathNode עודכן כך שיש בו הערות @Immutable עבור כל הוראה בנתיב
    18. הרכב המשנה וקטורי עודכן כדי להסיר פרטים מיותרים בדיקות מותנות לשוויון כי כבר צריך לטפל בהרכבה הם
    19. לטובת שיטות constructor נלוות של Rect שהוצאו משימוש של בוני פונקציות
    20. מחלקות מברשות ומבני פונקציות עודכנו עם ממשקי API של @Immutable ו- @Stable
    21. VertexMode enum עודכן ועכשיו הוא PascalCase
    22. שיטת ה-selectPaint של DrawScope עודכנה ל'מותנית' להחליף פרמטרים של קו בצבע בצביעה אם יש להם השתנה
    23. עודכנה הגודל כדי להוסיף ממשק API להרוס, שינוי השם לא צויןגודל לערך לא צוין והוסרו שיטות שלא בשימוש
  • העברת תיבת דו-שיח ל-ui (I47fa6)
  • בוצעה הסרה של SemanticsNodeInteraction.performPartialGesture. כדאי להשתמש יש גם אפשרות SemanticsNodeInteraction.performGesture. (Id9b62)
  • שינית את השם של SemanticsNodeInteraction.getBoundsInRoot() לשם SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf, b/161336532)
  • ממשקי ה-API לתמיכה מימין לשמאל עודכנו. נוספה ההגדרה LayoutDirectionAmbient תוכל להשתמש בה כדי לקרוא ולשנות את כיוון הפריסה. Modifier.rtl ו-Modifier.ltr הוסרו. (I080b3)
  • השם של Modifier.deternimateProgress שונה ל-Modifier.progressSemantics (I9c0b4)
  • עדכון סמלים מהותיים בתוספת הסמלים העדכניים ביותר שנוספו ל-Material.io/icon (I4b1d3)
  • נדרש לציין במפורש את סוג T מעבר להגדרת מעבר. (I1aded)
  • השירות Modifier.plus הוצא משימוש. במקומו צריך להשתמש ב-Modifier.then. 'אז' מקבלים אות חזק יותר של הזמנה, וגם אוסר על הקלדת Modifier.padding().background() + anotherModifier, דבר ששובר את השרשרת וקשה יותר לקרוא (Iedd58, b/161529964)
  • השם של AndroidComposeTestRule השתנה ל-createAndroidComposeRule. (I70aaf)
  • מוסיפים את isFocused() ו-isNotFocused() SemanticsMatcher. (I0b760)
  • בוצעה הסרה של BaseGestureScope.globalBounds, שלא אמור להיות ששימשו בבדיקות. שימוש בקואורדינטות באופן מקומי לצומת שבו נמצאים במקום זאת, Ie9b08
  • מיקום קבוע של חלון קופץ במסכים נחתכים. (Idd7dd)
  • השם של Modifier.drawBackground השתנה ל-Modifier.background (I13677)

גרסה 0.1.0-dev15

22 ביולי 2020

androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 ו-androidx.compose.material:material-icons-extended:0.1.0-dev15 שוחררו. גרסה 0.1.0-dev15 מכילה את ההתחייבויות האלה.

עדכון של יחסי התלות

  • כדי להשתמש בגרסה 0.1.0-dev15 של 'כתיבה', צריך לעדכן את יחסי התלות בהתאם לקטעי הקוד החדשים שמוצגים למעלה בקטע הצהרה על יחסי תלות.

שינויים ב-API

  • ההערה @Model הוצאה משימוש. שימוש ב-State וב-MutableStateOf כחלופות. קיבלנו את ההחלטה הזו לגבי הוצאה משימוש אחרי דיון קפדני מאוד.

    הצדקה

    הנימוקים כוללים, בין היתר:

    • צמצום שטח הפנים והמושגים שנדרשים ללמד
    • קרוב יותר לערכות כלים דומות אחרות (Swift UI, React, Flutter)
    • החלטה שניתן לבטל אותה. תמיד נוכל להחזיר את @Model מאוחר יותר.
    • הסרת השימוש בתרחיש פינתי וקשה לענות על שאלות לגבי הגדרת @Model כדברים שדרושים לנו לטיפול
    • @Model סיווגי נתונים, השווה, hashcode וכו'.
    • איך אפשר להגדיר נכסים מסוימים כנכסים ש'תועדו' ואחרים לא?
    • איך אפשר לציין שוויון מבני לעומת שוויון יחסי לצורך תצפית?
    • מפחית את ה"קסם" במערכת. להקטין את הסבירות שמישהו יניח שהמערכת חכמה יותר ממה שהיא (כלומר, היא יודעת איך להבחין בין רשימות)
    • הופך את רזולוציית התצפית לאינטואיטיבית יותר.
    • שיפור יכולת הארגון מחדש ממשתנה -> נכס בכיתה
    • אפשרויות לבצע אופטימיזציות ספציפיות למדינה בעבודת יד
    • הפעולה הזו תואמת יותר לשאר המערכת האקולוגית ומפחיתה את אי-הבהירות לגבי בלתי ניתן לשינוי או לגבי "אימוץ מצב ניתן לשינוי".

    הערות העברה

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

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    חלופה 1: משתמשים ב-State<OriginalClass> ויוצרים עותקים.

    הגישה הזו קלה יותר בעזרת מחלקות הנתונים של Kotlin. למעשה, צריך להפוך את כל המאפיינים הקודמים var למאפיינים val של מחלקת נתונים, ואז להשתמש ב-state במקום ב-remember, ולהקצות את ערך המצב לעותקים משוכפלים של המקור באמצעות שיטת הנוחות copy(...) של מחלקת הנתונים.

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

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    חלופה 2: שימוש ב-StateOf ובמשתמשים עם הרשאות גישה לנכס

    הגישה הזו קלה יותר בזכות מקבלי ההרשאה של Kotlin עם ה-API mutableStateOf, שמאפשרים ליצור מכונות MutableState בלי הרכבה. למעשה, צריך להחליף את כל var המאפיינים של המחלקה המקורית ב-var ב-mutableStateOf בתור בעל הגישה לנכס. היתרון הזה הוא שהשימוש במחלקה לא ישתנה בכלל, אלא רק ההטמעה הפנימית שלו. עם זאת, ההתנהגות לא זהה לחלוטין לדוגמה המקורית, מכיוון שעכשיו ניתן לראות כל נכס או להירשם אליו בנפרד, כך שההרכבות מחדש שתראו לאחר השינוי מחדש עשויות להיות צרות יותר (ויופי).

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/14b/14

  • קריאה חוזרת של onFocusChange בשדות טקסט ששמם השתנה ל-onFocusChanged (Ida4a1)

  • נוסף פרמטר ערכי סף ב-StateDraggable כדי לציין ערכי סף בין העוגנים. הוא שימש להגדרת סף של 56dp בחלונית ההזזה התחתונה. בנוסף, ב-BottomDrawerLayout נעשה שימוש עכשיו ב-BottomDrawerState נפרד. (I533fa)

  • מסיר את Modifier.ripple שהוצא משימוש. האפליקציה 'לחיצה על דף' משתמשת עכשיו ב'גלים' כאינדיקציה ברירת המחדל (אם הגדרתם MaterialTheme {} באפליקציה שלכם), כך שברוב המקרים תוכלו פשוט להשתמש ב'גלים' כדי לקבל אינדיקציה בחינם. אם אתם צריכים להתאים אישית את הצבע / הגודל / הפרמטר המוגבל של ההד, תוכלו ליצור מאפיין גלים באופן ידני ולהעביר אותו כפרמטר לחיץ (קליקבילי). (I663b2, b/155375067)

  • הוסרה שינוי מברירת המחדל של תוכן קומפוזבילי של FilledTextField (I7f8f8) שהוסר

  • שינוי שם של אובייקט לחצן (שכולל את ברירות המחדל שמשמשות את פונקציית הלחצן) ל-ButtonConstants (I7c5f7, b/159687878)

  • משבצת התוכן של הלחצן מתנהגת עכשיו כמו שורה (שימושי כשיש צורך בסמל עם טקסט. בקטע דוגמאות ב'לחצן' ניתן ללמוד איך לכתוב אותו) (I0ff10, b/158677863)

  • הוצאנו משימוש את RadioGroup ו-RadioGroupItem. השתמשו ב-Box עם Modifier.selectable, Row ו-Column כדי ליצור מערכת מתאימה של אפשרויות לחצנים לעיצוב (I7f5cf, b/149528535)

  • נוסף שדה טקסט עם קווי מתאר של חומר (I1a518)

  • androidx.ui.foundation.TextFieldValue וגם הפונקציה androidx.ui.input.EditorValue הוצאה משימוש. TextField, תכנים קומפוזביליים של FilledTextField ו-CoreTextField שנעשה בהם שימוש גם סוג זה הוצא משימוש. צריך להשתמש ב- במקום זאת androidx.ui.input.TextFieldValue (I4066d, b/155211005)

  • TabRow.TabPosition לא מכיל מיקום ב-Dp, לא ב-IntPx (I34a07, b/158577776)

  • השימוש ב-IntPx הוחלף ב-Int. מיקום IntPxPosition הוחלף עם IntOffset. הערך של IntPxSize הוחלף ב-IntSize. (Ib7b44)

  • כדי לאחד את את מספר המחלקות לייצוג התאמת גודל, סטנדרטיזציה על השימוש במחלקת גודל של PxSize. זה היתרונות של בכיתה מוטבעת כדי להשתמש לארוז 2 ערכים צפים לייצוג רוחב וגובה מיוצגים כצפים. (Ic0191)

  • מוציא משימוש את Modifier.ripple. האפליקציה 'לחיצה על דף' משתמשת עכשיו ב'גלים' כאינדיקציה ברירת המחדל (אם הגדרתם MaterialTheme {} באפליקציה שלכם), כך שברוב המקרים תוכלו פשוט להשתמש ב'גלים' כדי לקבל אינדיקציה בחינם. אם אתם צריכים להתאים אישית את הצבע / הגודל / הפרמטר המוגבל של ההד, תוכלו ליצור מאפיין גלים באופן ידני ולהעביר אותו כפרמטר לחיץ (קליקבילי). (I101cd, b/155375067)

  • ה-API של Scaffold עבר עריכה: כמה פרמטרים שינו את השם שלהם ונוספו פרמטרים חדשים להתאמה אישית טובה יותר. נוסף רכיב getter לגודלי השאילתות של Fab, TopBar ו-BottomBar (I0e7ce)

  • נוסף הרכיב 'תפריט נפתח' ב-ui-material, הטמעת תפריט של Material Design. (I9bb3d)

  • אפשר להציג/להסתיר מקלדת תוכנה באופן ידני באמצעות Software KeyboardController (Ifb9d6, b/155427736)

  • Modifier.indication נוסף לחבילת הבסיס. אפשר להשתמש בו כדי להציג לחיצה/גרירה/סימון אחר ברכיבים המותאמים אישית שניתנים לאינטראקציה (I8425f, b/155287131)

  • הטמעות מאוחדות של CanvasScope עכשיו יש רק את DrawScope היקף התוכן השם של CanvasScope השתנה ל-DawScope. בוצע עדכון של DrawScope להטמעת צפיפות ולספק LayoutDirection מחלקה משנית של DrawScope נמחקה ב-ContentDrawScope צבעים ו- PainterModifier עודכנו כדי להפסיק לתחזק נכס RTL בעצמם, מכיוון ש-DawScope כבר מספק בלי לספק אותו באופן ידני (I1798e)

  • משנה את השם של Emphasis.מאוחר() ל-Emphasis.applyEmphasis() (Iceebe)

  • לחצנים מושבתים קיימים עכשיו באופן חזותי בהתאם למפרט של עיצוב Material Design (I47dcb, b/155076924)

  • FilledTextField מקבל פעולת ime, טרנספורמציה חזותית ותמיכה בסוגי מקלדת (I1f9cf, b/155075201)

  • מוסיף את הפרמטר Strikewidth ל-CircularProgressInator כדי להתאים אישית את גודל הקווים. כדי לשנות את גודל הקו (height) של LinearProgressIndicator, אפשר להשתמש ב-Modifier.favoriteHeight() או במגביל גודל אחר. (Icea16, b/154919081)

  • מוסיף את הפרמטר Queuewidth ל-CircularProgressInator כדי להתאים אישית את גודל הקווים. כדי לשנות את גודל הקו (height) של LinearProgressIndicator, אפשר להשתמש ב-Modifier.favoriteHeight() או במגביל גודל אחר. (Icea16, b/154919081)

  • נוסף Slot API לסמלים בסוף ולסמלים ב- FilledTextField ובטיפול במצב השגיאה (Ic12e0)

  • צבע ברירת המחדל של FAB ושל FAB מורחב השתנה ל-MaterialTheme.colors.secondary. (I3b9b9, b/154118816)

  • כל השימושים בצבע nullable ב-API הוחלפו ב- non-null ולהשתמש ב-Color.Unset במקום ב-null (Iabaa7)

  • השם של כניסות Edge השתנה ל-InnerPbound. השם של פרמטר הפנימי (inPend) השתנה מ'לחצני חומר' ל'padpad'. (I66165)

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

  • StaticDrawer הוסר. אם צריך, אפשר להשתמש במקום זאת ב-Box עם רוחב של מפרט חומרים (I244a7)

  • נוספה הטמעת Material Design של שדה טקסט מלא (Ic75cd)

  • נוסף פרמטר המגביל ל-ListItem ופרמטרים שעברו שינוי סדר מופיעים ל- קידום גוף lambda בסוף (I66e21)

  • מוסיף את פרמטר ברירת המחדל של FontFamily constructor ל-Typography, וכך מציין את משפחת הגופנים המוגדרת כברירת מחדל עבור כל פריטי TextStyles שלא הוגדרו עבורם קבוצות משפחתיות. (I89d07)

  • טבלאות Material Data הוסרו באופן זמני מפלטפורמת ה-API. (Iaea61)

  • פרמטרים ששינו שם בקובץ קומפוזבילי קומפוזבילי (Ic4373)

  • ילדים (Ia6d19)

  • מסירה את MaterialTheme.emphasisLevels, ובמקום זאת משתמשים ב-EmphasisAmbient.current כדי לאחזר את רמות ההדגשה (Ib5e40)

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

  • שינינו את ממשקי ה-API של MaterialTheme, כמו MaterialTheme.colors() , MaterialTheme.typography() ועכשיו הם מאפיינים במקום פונקציות. צריך להסיר סוגריים משיחות קיימות. לא צפוי שינוי התנהגותי. (I3565a)

  • ממשקי API של FloatingActionButton כדי לקבל חומרים קומפוזביליים lambdas במקום פרימיטיבים. הצגת דוגמאות מעודכנות של שימוש מידע. (I00622)

  • הוספת הפרמטר enabled לתיבת סימון, למתג ולהחלפת מצב (I41c16)

  • Ripple הוא עכשיו 'מגביל'. אמנם השירות 'קליקבילי' עדיין לא הומר, אבל השימוש המומלץ הוא Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763)

  • סוג המסך והכרטיס הועברו מ-androidx.ui.material.surface אל androidx.ui.material (I88a6d, b/150863888)

  • ללחצן, FloatingActionButton ו-Clickable יש עכשיו פרמטר enabled נפרד. השמות של חלק מהפרמטרים ב'לחצן' שונו או שהסדר שלהם השתנה. (I54b5a)

  • השם של התמונה השתנה ל-ImageAsset כדי ליצור הבחנה טובה יותר בין נתוני התמונה לבין התוכן הקומפוזבילי של תמונה שמיועדת לפרסום עתידי. _Body:נוצרה שיטת התוסף ב-android.graphics.Bitmap, Bitmap.asImageAsset(), כדי ליצור מכונה של ImageAsset שימושי לשילוב במכשירי Android מסורתיים פיתוח אפליקציות באמצעות מסגרת הכתיבה (Id5bbd)

  • הוסר ממשק ה-API של Snackbar, עם פרמטרים של מחרוזות, לטובת השימוש עומס יתר שמקבל lambdas קומפוזביליות. הצגת דוגמאות מעודכנות עבור פרטי השימוש (I55f80)

  • ממשקי API של Tab שעברו ארגון מחדש לקבלת lambdas של text ו-icon, (Ia057e)

  • נוסף רכיב BottomNavigation, אפשר לעיין במסמכים ובדוגמאות של פרטי שימוש (I731a0)

  • נוסף סמל, לחצן IconToggle והסרת AppBarIcon. תוכלו להחליף ישירות שימושים קיימים ב-AppBarIcon ב-iconButton, ועכשיו יהיה להם משטח המגע הנכון. הצגת דוגמאות של את פרטי השימוש שלו, ולראות סמלים עבור סמלי החומרים שסופקו אפשר להשתמש בהם ישירות עם הרכיבים האלה. (I96849)

  • סגנון הלחצנים הוחלף בפונקציות ייחודיות ועומס יתר של טקסט (מחרוזת). דוגמאות מעודכנות של פרטי שימוש. (If63ab, b/146478620, b/146482131)

  • שינוי השם של מגביל Border ל-DrawBorder (I8ffcc)

  • לקואורדינטות כבר אין מאפיין מיקום. אינו הגיוני כאשר מביאים בחשבון את LayoutModififiers, סיבוב או התאמה לעומס (scaling). במקום זאת, על המפתחים להשתמש ב-Parent_Coordinates ו-ChildToLocal() כדי לחשב את הטרנספורמציה ניהול צוותים לפריסה אחרת.

    הקואורדינטות ב-Layouts משתמשות ב-IntPxSize עבור מאפיין הגודל במקום ב- גודל PxSize. פריסות משתמשות בגדלים של פיקסלים שלמים לפריסות, כך שכל גדלי הפריסה צריך להשתמש במספרים שלמים ולא בערכי נקודה צפה (floating-point). (I9367b)

  • שינויי תוכנה ב-Ambis API פרטים נוספים זמינים במסמכי היומן ובמסמכי Ambient<T> (I4c7ee, b/143769776)

  • רכיב החומר של הפיגום נוסף. הטמעות פיגומים (I7731b)

  • בוצעה החלפה של DrawBorder במקום Border Modifier (Id335a)

תיקוני באגים

  • ה-FocusModifier הוצא משימוש והוחלף ב-Modifier.focus, Modifier.focusRequester, Modifier.focusObserver. ה-FocusState ו-FocusDetailedState הוצא משימוש לטובת FocusState2 (I46919, b/160822875, b/160922136)
  • העמודות VerticalScroller ו-HoriziontalScroller הוצאו משימוש. ניתן להשתמש ב- ScrollableColumn וב-SllableRow כדי להתנסות באופן מובנה בהתנהגות ובפרמטרים של עמודות/שורה, או ב-Modifier.verticalScroll ו-Modifier.verticalScroll לרכיב משלך. באופן דומה, ScrollerPosition הוצא משימוש לטובת ScrollState (I400ce, b/157225838, b/149460415, b/154105299)
  • ממשקי ה-API של Modifier.draggable ו-Modifier.scrollable עברו עיבוד. התכונה DragDirection הוסרה לטובת הכיוון. המצב הנדרש לגלילה הוגדר בצורה פשוטה יותר. השם של ScrollableState השתנה ל- ScrollableController (Iab63c, b/149460415)
  • השם של runOnIdleCompose השתנה ל-runOnIdle (I83607)
  • במאפיינים של סמנטיקה של ערך יחיד נעשה עכשיו שימוש בסגנון קריאה. לדוגמה, 'semantics { paused = true }' כתוב עכשיו כך: 'semantics { saved() }' . (Ic1afd, b/145951226, b/145955412)
  • השמות של חלק מממשקי ה-API לבדיקה השתנו ועכשיו הם יותר אינטואיטיביים. הכול השמות של ממשקי ה-API של findXYZ השתנו ל-ב-NodeXYZ. השמות של כל ממשקי ה-API של DoXYZ השתנו ל- לבצעXYZ. (I7f164)
  • ממשק ה-API של המעבר השתנה כדי להחזיר ConversionState במקום להעביר את TransitionState לילדים. כך ה-API עקבי יותר ממשקי API של animate() . (I24e38)
  • נוספה קטגוריית יחידה מסוג IntBounds, שמייצגת תחומי פיקסלים של מספרים שלמים מהפריסה. ה-API של PopupPositionProvider עודכן ועכשיו אפשר להשתמש בו. (I0d8d0, b/159596546)
  • סימון אופציונלי חדש לשימוש ב-UnMergedTree נוסף למציאת הבדיקות. (I2ce48)
  • הוסרו ממשקי API מיושנים לבדיקת גודל. (Iba0a0)
  • הוסרה מחלקה מוטבעת של Shader עטוף NativeShader מצפה למחלקה השם של NativeShader השתנה ל-Sshader. הפעילות של הכיתה הארוזה של Shader לא להוסיף שום דבר חשוב לפלטפורמת ה-API והוא היה מחלקה מוטבעת, לכן צריך להשתמש ב-NativeShader ישירות בכיתה. (I25e4d)
  • חלונות קופצים, תיבות דו-שיח ותפריטים יורשים את עיצוב התוכן ההקשרי ההקשרי (Ia3665, b/156527485)
  • ניתן לגלול עכשיו בתפריט הנפתח של 'חומר'. (Ide699)
  • הפרמטר של כיוון הפריסה הוסר מבלוק המדידה של הפונקציה Layout() . עם זאת, כיוון הפריסה זמין בתוך הקריאה החוזרת דרך אובייקט היקף המדידה (Ic7d9d)
  • שימוש ב-AnimationSpec בתוך ממשקי ה-API ברמה העליונה במקום ב-AnimationBuilder כדי להבהיר את המושג 'מפרט אנימציה סטטית' -לשפר את המעבר ל-DSL על ידי הסרת דרישת lambda עבור יצירת מפרטי אנימציה כמו גיל טרום-עשרה, אביב. במקום זאת, הם מקבלים את הפרמטרים של constructor באופן ישיר. -שיפור הקלות הכוללת של פתיחת מפרט האנימציה ולא להסתמך על בנאים - שינוי משך הזמן וההשהיה של מסגרות KeyFrames ו-Tween to Int. הזה מבטלת העברות טיפוס מיותרות ועומס יתר על שיטות (methods) תמיכה גם ב-Long וגם ב-Int). (Ica0b4)
  • המתג מופיע עכשיו במצב מושבת כאשר enabled מוגדר כ-False (If4624, b/155941869, b/159331694)
  • השם של Modifier.tag שונה ל-Modifier.layoutId, כדי למנוע בלבול עם Modifier.testTag. (I995f0)
  • מיקומי היישור הפנימיים שהוחזרו מה-Placeable#get(מניעהLine) הם עכשיו לא null. אם חסר קו היישור שנוצר בשאילתה, הפונקציה VerifyLine.Unspecified תוחזר. (I896c5, b/158134875)
  • סיווג רדיוס מחדש להגדרה כיתה מוטבעת. היצירה הנלווית הוסרה במקום ב-constructor של פונקציות עם פרמטר ברירת המחדל כדי שהרדיוס תואם לציר ה-Y פרמטר של רדיוס בציר ה-X.

    עודכן ב-DawScope.drawRoundRect לצריכה פרמטר רדיוס יחיד במקום שני פרמטרים נפרדים ערכים צפים של הרדיוס לאורך x ו-y ציר (I46d1b)

  • כדי לאחד את את מספר המחלקות לייצוג פרטי מיקום, ליצור סטנדרטיזציה על השימוש במחלקה Offset של PxPosition. זה היתרונות של בכיתה מוטבעת כדי להשתמש לארוז 2 ערכים צפים כדי לייצג x ו-y קיזוזים מיוצגים כצפים. (I3ad98)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים. כיתה Px נמחקה במלואה (I3ff33)

  • הרכיב שניתן להחליף הוצא משימוש. במקומו צריך להשתמש ב-Modifier.toggleable (I35220, b/157642842)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I086f4)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (Id3434)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I97a5a)

  • בוצע תיקון ב-onClick שלא מופעל עבור DropdonOptionsItems. (I3998b, b/157673259)

  • ה-MutuallyExclusiveSetItem הוצא משימוש. במקומו צריך להשתמש ב-Modifier.selectable. (I02b47, b/157642842)

  • הכלי TestTag הוצא משימוש. במקומו צריך להשתמש ב-Modifier.testTag. (If5110, b/157173105)

  • הסמן של TextField מציג אנימציה מהבהבת (Id10a7)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (I19d02)

  • VerticalScroller מציע עכשיו Column (עמודה) מהתיבה. לרוחב ה-HorizontalScroller מופיע עכשיו שורה מחוץ לקופסה. (Ieca5d, b/157020670)

  • השימוש במחלקה Px הוחלף במספר הם חלק ארגון מחדש (Refactoring) כך שיסתמך רק על Dp וסוגים פרימיטיביים של פרמטרים של פיקסלים (Iede0b)

  • Modifier.semantics הוצא משימוש כדי לאפשר שימושים ברכיבים ברמה גבוהה. (I4cfdc)

  • ממשק ה-API של ה-API של DrawLayer השתנה: השם של outlineForm (צורה) השתנה לצורה, והוא מכיל את ערך ברירת המחדל RectangleForm ועכשיו לא ניתן לשנות את הערך שלו; השם שלClipToOutline שונה לקליפ. הוסרו גבולות הקליפ כי הם זהים לקליפ == true עם RectangleForm (I7ef11, b/155075735)

  • עודכנה רמה גבוהה יותר כתיבת ממשקי API שחושפים בד ציור במקום זאת, לחשוף את CanvasScope. הפעולה הזו תסיר הצורך של הצרכנים לשמור על אובייקטים של 'צייר'. למשתמשים עדיין נדרשת גישה ללוח הציור הוא יכול להשתמש בתוסף pullCanvas שמאפשרת קריאה חוזרת (callback) לבעיה שרטוט של פקודות באמצעות קנבס. (I80afd)

  • תוכן קומפוזבילי עם מייצג קומפוזביליות התוכן הקומפוזבילי במרכזיישור ליין הוסר. (I60107)

  • ממשק ה-API של lambda בסופו של withConstraints השתנה. עכשיו, במקום שני פרמטרים, יש לו היקף מקלט, שבנוסף למגבלות ו-DeployDirection, מספק את המאפיינים minwidth, maxWidth, minHeight ו-maxHeight ב-Dp (I91b9a, b/149979702)

  • נוסף ערך ברירת מחדל לפריסה של defaultMinSizeConstraints, שמגדיר מגבלות גודל לפריסה הארוזה רק אם לא צוינו האילוצים הנכנסים והתקפים (0 אם מדובר במגבלות של מינימום ואינסוף למגבלות מקסימליות). (I311ea, b/150460257)

  • ה-FocusManagerAmbient הוסר. שימוש ב-FocusModifier.requestFocus כדי להשיג מיקוד. (Ic4826)

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

    נוספה גם CanvasScopeSample וגם עדכנת את אפליקציית ההדגמה ועכשיו היא כוללת גרפיקה מוצהרת הדגמה (Ifd86d)

  • הוספת התאמה אישית של צבע הסמן ב-TextField (I6e33f)

  • עכשיו אפשר להשתמש ב-TextFieldValue יחד עם TextField כדי לשרוד פעילות פנאי, גם כשמשתמשים בו: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • השם של LayoutModifier2 שונה ל-LayoutModifier. (Id29f3)

  • הוסר ממשק LayoutModifier שהוצא משימוש. (I2a9d6)

  • בוצעה החלפה של CoreTextField/TextField FocusIdentifier עם FocusNode כדי לשלב אותו עם מערכת המשנה של המיקוד. (I7ea48)

  • לפונקציות מדידות פנימיות ב-Layout וב-LayoutModifier2 יש עכשיו מקלט IntrinsicMeasureScope שמספק עכשיו API של שאילתות מהותיות עם כיוון פריסה מופץ במרומז. (Id9945)

  • הוספנו את Modifier.zIndex() כדי לשלוט בסדר השרטוט של צאצאים באותה פריסת הורה. השם של מאפיין הגובה ב-DrawLayerModifier משתנה ל-shadowHeightion והוא לא שולט יותר בסדר השרטוט. סדר הפרמטרים ב-DrawShadow השתנה: הגובה הוא עכשיו הראשון והצורה היא השנייה עם ברירת מחדל של RectangleForm. (I20150, b/152417501)

  • RectangleForm הועבר מ-androidx.ui.foundation.shape.* אל androidx.ui.graphics.* (Ia74d5, b/154507984)

  • עדכון של TextField API – מוזגו קריאות חוזרות של onFocus ו-onBlur לקריאה חוזרת (callback) אחת של onFocusChange(Boolean) עם פרמטר (I66cd3)

  • נוספו פרמטרים של 'Gravity' ו-'UniformGravity' ל'שורה' ו'עמודה', בהתאמה. (I7dc5a)

  • עודכנו wrapContentwidth ו-wrapContentHeight כדי לצפות ליישור אנכי או אופקי, במקום יישור כלשהו. מקש הצירוף של כוח הכבידה עודכן לקבלת יישור אנכי או אופקי. שורות, עמודות וערימה עודכנו ועכשיו הן תומכות ביישור רציף בהתאמה אישית. (Ib0728)

  • יצרתי PixelMap API לתמיכה לשלוח שאילתות על פרטי פיקסלים מ-ImageAsset. (I69ad6)

  • התכונה RemoveContentColor מסירה במקום זאת רק את ContentColorAmbient ישירות עם Providers (Iee942)

  • השם של המודול ui-text-compose שונה ל-ui-text. טקסט בממשק משתמש מכיל עכשיו תכנים קומפוזביליים של CoreText ו-CoreTextField (Ib7d47)

  • השם של מודול ui-text השתנה ל-ui-text-core (I57dec)

  • הועברו ui-framework/CoreText, תכנים קומפוזביליים של CoreTextField ui-text-compose. כדאי שתהיה לך אפשרות לכלול את ui-text-compose פרויקט. (I32042)

  • שיפור של DrawModifier API:

    • יצרת את היקף המקבל עבור pull() ContentDrawScope
    • הוסרו כל הפרמטרים מ-Daw()
    • הממשק של DrawScope זהה לממשק הקודם של CanvasScope
    • ContentDrawScope כולל שיטת pullContent() (Ibaced, b/152919067)
  • runOnIdleCompose ו-runOnUiThread הן עכשיו פונקציות גלובליות במקום להשתמש ב-methods ב-ComposeTestRule. (Icbe8f)

  • [ניתן לשינוי]האופרטורים להענקת גישה לנכסים במדינה עברו לתוספים לתמיכה באופטימיזציות של מקבלי גישה לנכס Kotlin 1.4. מתקשרים חייבים להוסיף מיובאים כדי להמשיך להשתמש ב-by state { ... } או ב-by mutableStateOf(...). (I5312c)

  • נוספו positionInParent ו-boundsInParent לקואורדינטות ב-Layout9s. (Icacdd, b/152735784)

  • הצבע של ColoredRect הוצא משימוש. במקום זאת, צריך להשתמש ב-Box(Modifier.favoriteSize(width,height).drawBackground(color). (I499fa, b/152753731)

  • השם של Layout result השתנה ל-MeasureAmount. (Id8c68)

  • נוסף LayoutModifier2, ממשק API חדש להגדרת מגבילי פריסה; LayoutModifier שהוצא משימוש (If32ac)

  • אופרטור הצירוף הוחלפה בפונקציות של תוספי היצרן (I225e4)

  • אפשרות הגרירה הועברה למצב הצירוף (Id9b16, b/151959544)

  • תוכן קומפוזבילי ParentData הוצא משימוש. עליכם ליצור מגביל שמיישם את ממשק ParentDataModifier, או להשתמש ב-LayoutTag אם צריך רק לתייג צאצאים כדי לזהות אותם בתוך בלוק המדידה. (I51368, b/150953183)

  • תוכן קומפוזבילי שהוצא משימוש במרכז. צריך להחליף אותו במגביל הצירוף LayoutSize.Fill + Layout.Center, או באחד מהקומפוזביליים של Box או Stack עם מגבילי התאמה מתאימים (Idf5e0)

  • נוסף VectorPainter API אל להחליף את Subcomposition API קיים בשביל בגרפיקה וקטורית. תוצאה של הרכב משנה הוא אובייקט VectorPainter במקום DrawModifier. DrawVector הקודם הוצא משימוש לתכנים קומפוזביליים לטובת VectorPainter.

    שם ה-API של Image(Painter) השתנה ל- PaintBox(Painter) יצרתם קומפוזבילי וקטורי שפועל כמו אפשר ליצור תמונה קומפוזבילית, אבל לא באמצעות VectorAsset במקום זאת של ImageAsset (I9af9a, b/149030271)

  • השם של הפריסה הגמישה השתנה ל-Layoutweight (משקל). השם של הפרמטר 'נוח' שונה למילוי. (If4738)

  • הוסר Re PaintBoundary לטובת DrawLayerModifier (I00aa4)

  • DrawVector השתנה ממערך רגיל בפונקציה קומפוזבילית להחזרת ערך Modifier pullVector() יצייר את הווקטור כרקע לפריסה. (I7b8e0)

  • הוחלפה הפונקציה הקומפוזבילית של Opacity עם מאפיין pullOpacity. (I5fb62)

  • החלפת הקליפ של הפונקציה הקומפוזבילית עם מקש הצירוף DoodleClip(). תכונת DrawClipToBounds היא תכונת שינוי נוחה שבו צריך להשתמש רק לחיתוך גבולות השכבה בצורת מלבן. (If28eb)

  • הפונקציה הקומפוזבילית של DrawShadow הוחלפה ב-DrawShadow() לעיבוד טקסט. עכשיו האזורים הכהים משורטטים כחלק מ-LayerModifier. (I0317a)

  • נוסף LayerModifier, מקש צירוף שמאפשר הוספת RenderNode לפריסה. היא מאפשרת להגדיר חיתוך, אטימוּת, סיבוב, התאמה לעומס (scaling) וצלליות. הפעולה הזו תחליף את Re PaintBoundary. (I7100d, b/150774014)

  • androidx.compose.ViewComposer הועבר אל androidx.ui.node.UiComposer בוצעה הסרה של androidx.compose.Emittable. הפעולה הייתה מיותרת עם ComponentNode. בוצעה הסרה של androidx.compose.ViewAdapters. הם כבר לא תרחיש לדוגמה שנתמך. השדה Compose.composeInto הוצא משימוש. במקומו צריך להשתמש ב-setContent או ב-setViewContent. הכלי Compose.disposeComposition הוצא משימוש. במקום זאת, צריך להשתמש בשיטה dispose בעמודה Composition שהוחזרה על ידי setContent. androidx.compose.Compose.subcomposeInto הועבר אל androidx.ui.core.subcomposeInto השם של ComponentNode#emitInsertAt השתנה ל-ComponentNode#insertAt השם של ComponentNode#emitRemoveAt השתנה ל-ComponentNode#removeAt השם של ComponentNode#emitMode השתנה ל-ComponentNode#move (Idef00)

  • תמונה קומפוזבילית שנוצרה לטיפול שינוי גודל/פריסה בנוסף לשרטוט נתון ImageAsset אל המסך. התוכן הקומפוזבילי הזה תומכת גם בשרטוט כל צבע שרירותי שמתייחס לגודל הפנימי שלו וגם תמיכה בפתרון קבוע נתון גודל או גודל מינימלי (Ibcc8f)

  • תוכן קומפוזבילי על האריזה שהוצא משימוש. אפשר להחליף אותו במנגנון הצירוף של LayoutLayout או ברכיב הקומפוזבילי של Stack (Ib237f)

  • withConstraints Get LayoutDirection (I6d6f7)

  • כיוון הפריסה יופץ מצומת פריסת ההורה לצאצאים. נוסף ערך לשינוי כיוון הפריסה. (I3d955)

  • רכיב מקבץ תומך בכיווניות מימין לשמאל (Ic9e00)

  • הוסר התוכן הקומפוזבילי של DrawForm. במקום זאת, אפשר להשתמש בתכונת הצירוף DrawBackground. (I7ceb2)

  • תמיכה בכיוון מימין לשמאל בתכונת השינוי של LayoutPpy (I9e8da)

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

  • הדגל ComposeFlags.COMPOSER_PARAM עודכן ועכשיו הוא true, והוא ישנה את אסטרטגיית יצירת הקוד של הפלאגין של כתיבת הקוד. ברמה הכללית, זה גורם ליצירת פונקציות @Composable עם פרמטר סינתטי נוסף, שמועבר אל הפעלות @Composable נוספות כדי שסביבת זמן הריצה תוכל לנהל כראוי את הביצוע. עם זאת, זהו שינוי תוכנה בינארי משמעותי שעלול לשמר תאימות ברמת המקור בכל שימוש מאושר בכתיבה. (I7971c)

  • רכיב לוח הציור נוסף. התוכן הקומפוזבילי הזה תופס חלק מהגודל (נשלח על ידי המשתמש) והוא מאפשר לצייר באמצעות CanvasScope (I0d622)

  • השדות Density ו-DensityScope מוזגו לממשק אחד. במקום TimeDensity() אפשר להשתמש ב-DensityAmbient.current. במקום withDensity(צפיפות) רק עם(צפיפות) (I11cb1)

  • שינית את Layouts כדי לבצע חלוקה ליישור קו קבוצה במקום מפה, ו-Layouts (פריסות) מיישמים את במקום זאת, כדי לאחזר ערך, באמצעות האופרטור get() . כך יהיה לך קל יותר עבור משתנים לשינוי ערך אחד או יותר של הקבוצה יוצר אוסף חדש לכל מגביל. (I0245a)

  • עכשיו, בגלילות רואים התנהגות רגילה של תנועה מרחפת ב-Android. (I922af, b/147493715)

  • שיפורים בפלטפורמת ה-API של המגבלות (I0fd15)