הרכבת החומר
androidx.compose.material
androidx.compose.material.icon
(לעיון במסמכי העזרה של ה-API לכל חבילות הכתיבה)
העדכון האחרון | גרסה יציבה | מועמד לפרסום | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
7 באוגוסט 2024 | 1.6.8 | - | 1.7.0-beta07 | - |
מבנה
תהליך הכתיבה הוא שילוב של 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.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.
מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.
גרסה 1.7
גרסה 1.7.0-beta07
7 באוגוסט 2024
androidx.compose.material:material-*:1.7.0-beta07
משוחרר. גרסה 1.7.0-beta07 כוללת את ההתחייבויות האלה.
גרסה 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 מכילה את התחייבויות אלה.
תכונות חדשות
- נוסף פריט מידע שנוצר בתהליך הפיתוח (Artifact) מסוג
androidx.compose.material:material-navigation
שמוסיף תמיכה בגיליונות תחתונים כיעדים כשמשתמשים ב-Navigation Compose. הוא מחליף את הספרייה 'חומרי ניווט נלווה'. (d65d57, b/180247978)
גרסה 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. בניגוד לרכיביmaterial3, רכיביMaterial2 לא תומכים ב-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 של WAPable1 ב-
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 של lambdaonRelease
שונתה ב-Modifier.pullRefresh
כך שתחזיר Float למהירות צריכה (I7db65, b/266874741) BottomSheetState
,ModalBottomSheetState
ו-BottomDrawerState
חושפים עכשיו מאפיין התקדמות שמציין את ההתקדמות בין העוגן הנוכחי (המוטמע) לבין העוגן הקרוב ביותר בכיוון ההחלקה. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)- תוקנה פעולת הסגירה
AlertDialog
כך שתופיע מתחת לפעולת האישור כשהפעולות נערמו זו על גבי זו כדי להתאים לרוחב של תיבת הדו-שיח. התיקון הזה נועד להתאים את ההטמעה למפרט של עיצוב חדשני (Material Design). (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 של lambdaonRelease
שונתה ב-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) - יותר ערך אפסי של סוג החזרה של פונקציות מוסתרות שהוצאה משימוש (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
נוסף ל-BasicTex
t ול-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 מכילה את התחייבויות אלה.
תיקוני באגים
- דגימה של קבוצת צ'יפים של הוספה (I97080, b/192585545)
גרסה 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 מכילה את שמירות האלה.
תיקוני באגים
- צריך לתקן את רדיוס הפינות שחל על
Checkbox
(I38b03, b/175198975, b/202309440)
גרסה 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 ל-LeadColor ו-RetailColor. כך ניתן לשנות את המראה של 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
עודכנה בהתאם ל-Kotlin1.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 שונה ל-BadgedBox, והפרמטרים שהשתנו כדי לקבל תגים קומפוזביליים של תגים. נוסף רכיב תג שהוא תוכן התג הטיפוסי של 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 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקן מכונות של נגזרת מעקב אחרי קריסה. (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 ו-AGP7.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
, כי הכרטיס לא יחתוך את גל הגלים במקרים האלה.
- נוסף עומס יתר חדש בכרטיס שמטפל בקליקים, וגם פונקציונליות אחרת הניתנת ללחיצה: אינדיקציה,InteractSource, הפעלה/השבתה. לא הייתה אפשרות להשתמש בכרטיס רגיל שאי אפשר ללחוץ עליו עם
- שבירה של התנהגות: תכונת 'פלטפורמה' צורכת עכשיו קליקים, וכתוצאה מכך קליקים נוספים דרך
Surface(Modifier.clickable)
יהיו ללא תפעול. יש להשתמש בעומס יתר ניסיוני חדש של Surface שמקבל onClick. (I73e6c, b/183775620)- נוסף עומס-יתר חדש ב-Surface, שמטפל בקליקים, וגם פונקציונליות אחרת הניתנת ללחיצה: אינדיקציה, interactionsSource , הפעלה/השבתה. לא ניתן היה להשתמש במשטח רגיל שלא ניתן ללחוץ עליו עם
Modifier.clickable
, כי 'הפלטפורמה' לא תחתוך את הסימון של גל הגלים במקרים האלה.
- נוסף עומס-יתר חדש ב-Surface, שמטפל בקליקים, וגם פונקציונליות אחרת הניתנת ללחיצה: אינדיקציה, interactionsSource , הפעלה/השבתה. לא ניתן היה להשתמש במשטח רגיל שלא ניתן ללחוץ עליו עם
שינויים ב-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)
- שינוי API:
- שינוי השם של
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) של SoftwareKeyboardController מכל הטקסט השדות האלה יוחלפו בקרוב ב-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
- השם של הפרמטר isErrorValue השתנה ב-TextField וב-OutlinedTextField ל-isError. (I831f9, b/171305338, b/168004067)
- הוספת מגביל 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 השתנה ל-FleingBehavior, שמאפשר עכשיו להתאים אישית אנימציית השעיה במקום להגדיר מראש 'דעיכה'. (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 כדי להחליף את הממשק הקודם של SoftwareKeyboardController 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.dragTrafficFilter הוצא משימוש. במקומה צריך להשתמש במדיניות
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() השתנה ל-cacheSaveable() והועבר אל החבילה androidx.compose.runtime.saveable. (I1366e, b/177338004)
בוצעה שמירה, listSaver(), mapSaver(), autoSaver הועבר מ-androidx.compose.runtime.savedinstancestate אל androidx.compose.runtime.saveable (I77fe6)
השמות של פרמטרים ב-RederCornerForm , 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() ל-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 השתנה ל-contentlement. (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)
ההגדרה מוסיפה את Ambient עזרionOverlay, מאפשר התאמה אישית או השבתה של שכבת-העל של גובה ברירת המחדל שהוחלה על 'פלטפורמות' בעיצוב כהה. (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)
- משנה את השם של EnablebuttonConstants/FloatingActionButtonConstants.defaultAnimatedElevation ל-defaultHeightion, ומחזירה עכשיו ערך 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 השתנה ל-PAttributesValues. (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, heightIn, 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: slideTarget -> targetValue, התקדמות החלקה -> התקדמות, להחליק Direction -> לכיוון מסוים. נוספה פונקציית זיכרון (MemoryסוגableState) שמונעת יצירה ב-SSlidesableStates. (I2fc9c, b/163129614, b/163132293)
- נוספה תמיכה בסרגל כרטיסיות עם מיקום ותור נכון. אפשר לגשת אליו דרך פונקציית ההשעיה של
SnackbarHostState.showSnackbar
. בנוסף:- רכיבי SnackbarHost נוספו. היא מארחת סרגלי נשנושים בהתאם למדינה, והיא אחראית למעבר בין הכרטיסיות.
- הוספנו את SnackbarHostState כדי לאפשר שליטה במארחים של סרגלי אינטראקטיבי (snackbarHostState) ובחלוקה שלהם ל-SnackbarHostState. אפשר לגשת למצב הזה גם דרך
scaffoldState.snackbarHostState
. - נוסף עומס יתר של סרגל הצד, כדי לתמוך בממשק משותף בין סרגל ה-ScatbarHostState לבין הסרגל האינטראקטיבי עצמו. (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)
- נוסף הפרמטר רקעColor ל-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. נוסף ערך סף של פרמטר אל SimplyToDismiss, שהוא 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.sdeleteable. הושקה מחלקה חדשה של 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)
- הסרת ממשק OffsetBase שאינו בשימוש
- יישרו מחלקות אחת (Offset) ו-IntOffset כדי פלטפורמת API עקבית
- שינוי השם של IntOffset.Origin ל-IntOffset.Zero להיות עקביים עם Offset API
- שיטת NativeCanvas הועברה מלוח הציור ממשק לתמיכה בצרכנים כדי ליצור מופעי בד קנבס משלך
- נוצרה כיתת stub EmptyCanvas כדי לארגן מחדש DrawScope להיות פרמטר שאינו אפס במקום מאוחר יותר ולוודא שהשדה אינו null
- השם של ClipOp enum השתנה ל'מקרה פסקל'
- שם המסנן השתנה ל'מקרה פסקל'
- שינינו את השם של StrokeJoin enums ל-Pascal Case
- השם של 'טיפוסים בני מנייה (enum)' השתנה ל'מקרה של פסקל'
- השם של enums ב- PaintingStyle השתנה ועכשיו הוא מקרה פסקל
- השם של PathFillType השתנה לאותיות פסקל
- השם של טיפוסים ב-StrokeCap השתנה לאותיות פסקל
- היישום של Drawcache עודכן ועכשיו הוא לא קיים יותר להשתמש בפרמטרים 'בהשהיה'
- בוצע עדכון של DrawScope לשימוש בהענקת גישה מדורגת לפרמטרים פנימיים של fullPaint ו-streamPaint
- התמונה הקומפוזבילית עודכנה כדי להימנע משימוש ב-Box למשך פחות תקורה
- עדכנו את הכיתה ב-Outline ועכשיו יש בה הערות @Immutable
- PathNode עודכן כך שיש בו הערות @Immutable עבור כל הוראה בנתיב
- הרכב המשנה וקטורי עודכן כדי להסיר פרטים מיותרים בדיקות מותנות לשוויון כי כבר צריך לטפל בהרכבה הם
- לטובת שיטות constructor נלוות של Rect שהוצאו משימוש של בוני פונקציות
- מחלקות מברשות ומבני פונקציות עודכנו עם ממשקי API של @Immutable ו- @Stable
- VertexMode enum עודכן ועכשיו הוא PascalCase
- שיטת ה-selectPaint של DrawScope עודכנה ל'מותנית' להחליף פרמטרים של קו בצבע בצביעה אם יש להם השתנה
- עודכנה הגודל כדי להוסיף ממשק 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, בשורה ו-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)
מוסיף את הפרמטר Strikewidth ל-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)
מערכת עיצוב הצורה מתעדכנת בהתאם למפרט של עיצוב חדש (Material Design). עכשיו אפשר לספק צורות קטנות, בינוניות וגדולות שישמשו את רוב הרכיבים (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 של המעבר השתנה כדי להחזיר מעבר בין מדינות, במקום להעביר את 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 באופן ישיר. -שיפור הקלות הכוללת של פתיחת AnimationSpec במקום להסתמך על בנאים - שינוי משך הזמן וההשהיה של מסגרות 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) אינם אפס. אם חסר קו היישור שנוצר בשאילתה, הפונקציה 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. הפעולה הזו תסיר הצורך של הצרכנים לשמור על אובייקטים של 'צייר'. למשתמשים עדיין נדרשת גישה ללוח הציור הוא יכול להשתמש בתוסף PaintCanvas שמאפשרת קריאה חוזרת (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 מוזגו לממשק אחד. עכשיו אפשר להשתמש בפונקציה DensityAmbient.current במקום בפונקציה DensityAmbient.current. במקום withDensity(צפיפות) רק עם(צפיפות) (I11cb1)
שינית את Layouts כדי לבצע חלוקה ליישור קו קבוצה במקום מפה, ו-Layouts (פריסות) מיישמים את במקום זאת, כדי לאחזר ערך, באמצעות האופרטור get() . כך יהיה לך קל יותר עבור משתנים לשינוי ערך אחד או יותר של הקבוצה יוצר אוסף חדש לכל מגביל. (I0245a)
עכשיו, בגלילות רואים התנהגות רגילה של תנועה מרחפת ב-Android. (I922af, b/147493715)
שיפורים בפלטפורמת ה-API של המגבלות (I0fd15)