אנימציה ב-Compose
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(מידע נוסף זמין במסמכי העזר בנושא API לכל חבילות ה-Compose)
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
13 בנובמבר 2024 | 1.7.5 | - | - | 1.8.0-alpha06 |
מבנה
Compose הוא שילוב של 7 מזהי קבוצות Maven בתוך androidx
. כל קבוצה מכילה קבוצת משנה ממוקדת של פונקציונליות, עם קבוצה משלה של הערות לגרסה.
בטבלה הזו מוסבר על הקבוצות ומוצגים קישורים לכל קבוצה של הערות המוצר.
קיבוץ | תיאור |
---|---|
compose.animation | פיתוח אנימציות באפליקציות שלהם ב-Jetpack Compose כדי להעשיר את חוויית המשתמש. |
compose.compiler | שינוי פונקציות עם @Composable והפעלת אופטימיזציות באמצעות פלאגין של קומפילר Kotlin. |
compose.foundation | כתיבת אפליקציות ב-Jetpack Compose באמצעות אבני בניין מוכנות לשימוש והרחבת הבסיס כדי ליצור רכיבים משלכם של מערכת עיצוב. |
compose.material | פיתוח ממשקי משתמש של Jetpack Compose באמצעות רכיבי Material Design מוכנים לשימוש. זוהי נקודת הכניסה ברמה הגבוהה יותר של Compose, שנועדה לספק רכיבים שתואמים לאלה שמתוארים בכתובת www.material.io. |
compose.material3 | פיתוח ממשקי משתמש של Jetpack Compose באמצעות רכיבי Material Design 3, הגרסה הבאה של Material Design. Material 3 כולל רכיבים ועיצוב נושאים מעודכנים ותכונות של התאמה אישית של Material You, כמו צבעים דינמיים. הוא תוכנן כך שיהיה עקבי עם הסגנון החזותי החדש של Android 12 וממשק המשתמש של המערכת. |
compose.runtime | אבני בניין בסיסיות של מודל התכנות ושל ניהול המצב ב-Compose, וזמן ריצה ליבה שאליו פונה הפלאגין של Compose Compiler. |
compose.ui | רכיבים בסיסיים של ממשק המשתמש של Compose שנדרשים כדי לקיים אינטראקציה עם המכשיר, כולל פריסה, ציור והזנה. |
הצהרת יחסי תלות
כדי להוסיף תלות ב-Compose, צריך להוסיף את מאגר Google Maven לפרויקט. למידע נוסף, אפשר לקרוא את המאמר מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.8
גרסה 1.8.0-alpha06
13 בנובמבר 2024
androidx.compose.animation:animation-*:1.8.0-alpha06
משוחרר. גרסת 1.8.0-alpha06 מכילה את ההוספות האלה.
שינויים ב-API
- השם של הפרמטר
sharedElement
עודכן מ-state
ל-sharedContentState
כדי לשמור על עקביות בין ממשקי ה-API של הרכיבים המשותפים. (I5694c, b/375351468) - חבילת ממשקי ה-API של
AnimatedImageVector
יציבה עכשיו. (I7174b, b/261436267)
גרסה 1.8.0-alpha05
30 באוקטובר 2024
androidx.compose.animation:animation-*:1.8.0-alpha05
משוחרר. גרסת 1.8.0-alpha05 כוללת את ההוספות האלה.
תכונות חדשות
- עכשיו יש תמיכה בתכונה 'הצגת תוצאות עתידיות' ב-
LazyGrid
. ההבדל כולל בין 'מעבר מבט קדימה' לבין 'מעבר גישה' בגלילה, בהרכבה/בהסרה של פריטים ובאנימציה של פריטים. בנוסף, המערכת משתמשת במעבר מבט קדימה כמקור המידע האמין לגלילה וליעד של אנימציית הפריטים.
תיקוני באגים
- עדכון המצבים הפנימיים של טרנספורמציית הגודל של
AnimatedContent
כשהמעבר נוצר מחדש. כך אפשר להבטיח שהמידע על גודל היעד תמיד יהיה עדכני. (b/372512085)
גרסה 1.8.0-alpha04
16 באוקטובר 2024
androidx.compose.animation:animation-*:1.8.0-alpha04
משוחרר. גרסת 1.8.0-alpha04 כוללת את ההוספות האלה.
תיקוני באגים
- תוקן באג שגרם לחלק מהעקומות של העקומות להאטה לקרוס בחלקי זמן מסוימים.
- תוקן באג שגרם ליישור שגוי של
Modifier.animateContentSize
ב-RTL. (Idae6b, b/372055503)
גרסה 1.8.0-alpha03
2 באוקטובר 2024
androidx.compose.animation:animation-*:1.8.0-alpha03
משוחרר. גרסת 1.8.0-alpha03 כוללת את ההוספות האלה.
שינויים ב-API
- עדכון הגרסה של Kotlin ל-1.9 (I1a14c)
תיקוני באגים
- תוקנה בעיה באנימציה של גודל
AnimatedContent
. כדי להבטיח המשכיות, האנימציה תמיד עוקבת אחרי הגודל הנוכחי ומתחילה ממנו.
גרסה 1.8.0-alpha02
18 בספטמבר 2024
androidx.compose.animation:animation-*:1.8.0-alpha02
משוחרר. גרסת 1.8.0-alpha02 כוללת את ההוספות האלה.
גרסה 1.8.0-alpha01
4 בספטמבר 2024
androidx.compose.animation:animation-*:1.8.0-alpha01
משוחרר. הגרסה 1.8.0-alpha01 כוללת את ההוספות האלה.
תכונות חדשות
- ממשק API חדש של
Modifier.animateBounds
ליצירת אנימציה של שינויים בגודל ובמיקום במסגרת טווח צפייה קדימה. 94b9394
שינויים ב-API
- הסרת דגלים ניסיוניים על קווים עיקריים עם קשתות וספליינים (89e1199)
תיקוני באגים
- דילוג על הלוגיקה של
placeHolderSize
אם לא נמצאה התאמה (77c0160) - הגבלת משך הזמן של הפעלה ב-
AndroidFlingSpline
כדי למנוע קריסות שנובעות מעלייה לא מונוטונית של משך הזמן של הפעלה(9d47587) - תיקון של
SharedTransitionScope
שלא מצייר פריטים בתנאים מסוימים (b41077b6)
תרומה חיצונית
- Prevent setting seekable transition
playTime
when no transition is running מאת Steven Schoen. (c2e6e7e6)
גרסה 1.7
גרסה 1.7.5
30 באוקטובר 2024
androidx.compose.animation:animation-*:1.7.5
משוחרר. גרסה 1.7.5 כוללת את ההוספות האלה.
תיקוני באגים
- תוקן באג שגרם ליישור שגוי של
Modifier.animateContentSize
ב-RTL. (Idae6b, b/372055503)
גרסה 1.7.4
16 באוקטובר 2024
androidx.compose.animation:animation-*:1.7.4
משוחרר. גרסה 1.7.4 מכילה את ההוספות האלה.
גרסה 1.7.3
2 באוקטובר 2024
androidx.compose.animation:animation-*:1.7.3
משוחרר. גרסה 1.7.3 מכילה את ההוספות האלה.
גרסה 1.7.2
18 בספטמבר 2024
androidx.compose.animation:animation-*:1.7.2
משוחרר. גרסה 1.7.2 מכילה את ההוספות האלה.
תרומה חיצונית
- מניעת הגדרת מעבר שניתן לדלג עליו
playTime
כשאין מעבר פעיל. תודה Steven Schoen! (c2e6e7e6)
גרסה 1.7.1
10 בספטמבר 2024
- אין שינויים בפריטי המידע שנוצרו בתהליך פיתוח (artifacts) של Android. הוסרו ארטיפקטים מסוג
-desktop
והתווספו ארטיפקטים מסוג-jvmStubs
ו--linuxx64Stubs
. אין להשתמש באף אחד מהיעדים האלה. הם משמשים כסמנים לעזרה במאמצים של Jetbrains Compose.
גרסה 1.7.0
4 בספטמבר 2024
androidx.compose.animation:animation-*:1.7.0
משוחרר.
שינויים חשובים מאז גרסה 1.6.0
בפוסט הזה בבלוג מפורטים שינויים חשובים בגרסה 1.7.0.
ממשקי API חדשים למעבר בין רכיבים משותפים
- ממשקי API חדשים למעבר בין רכיבים משותפים ממתינים לשימוש ולמשוב שלכם. ממשקי ה-API הניסיוניים החדשים האלה מאפשרים לתייג פריסות כפריסות משותפות בעץ הפריסות באמצעות המשתנים המשתנים שסופקו, וכך ליצור גבולות שמשתנים בצורה חלקה כשקבוצה אחת של תוכן משותף יוצאת וקבוצה אחרת נכנסת. (Icb0b9)
scaleInSharedContentToBounds
ו-scaleOutSharedContentToBounds
חדשים להתאמת תוכן ב-sharedBounds
(I731c1)SharedTransitionScope
הניסיוני הוא עכשיו ממשק ולא כיתה. (Iaf856)resizeModes
חדש (ScaleToBounds
ו-RemeasureToBounds
) ל-sharedBounds
כדי לבחור בין שינוי קנה המידה למדידה מחדש. ממשקי ה-API הקודמים שלscaleIn/OutSharedContentToBounds
הוצאו משימוש. (I0d41a)
שיפורים בממשקי API קיימים:
Modifier.animateContentSize
חדש שמקבל פרמטר נוסף ליישור תוכן מותאם אישית. (I5623a, b/269803907)DeferredTargetAnimation
ניסיוני חדש להנפשה של גודל, מיקום או כל יעד אחר שלא ידוע במהלך היצירה. (I60745)SeekableTransitionState
מחליף אתsnapTo()
ב-seekTo()
, ומוסיףsnapTo()
שמשנה את המצב למצב היעד באופן מיידי ללא אנימציה.- עכשיו אפשר להעביר ערך
periodicBias
(Float) אלkeyframesWithSpline
, וכך המהירות ההתחלתית והמהירות הסופית של הספליינים יהיו שוות. שימושי ליצירת אנימציות שניתן לחזור עליהן באמצעות ספליינים. הטיה (bias) מציינת את מידת השינוי של כל מהירות (ראשונית וסופית) כדי להשיג תקופתיות. (Ic1e6c, b/292114811)
ממשקי ה-API הבאים הפכו ליציבים או הוסרו:
AnimatedVisibilityScope.transition
הוא עכשיו ממשק API יציב. גםModifier.animateEnterExit(..)
השתפר. (I6c1d1)ApproachLayoutModifierNode
ו-Modifier.approachLayout
עכשיו יציבים, וישisMeasurementApproachInProgress()
ו-isPlacementApproachInProgress()
חדשים שיחליפו אתisMeasurementApproachComplete()
ו-isPlacementApproachComplete()
הישנים, בהתאמה.- הוסר המשתנה המשתנה
intermediateLayout
שהוצא משימוש. (I3e91c) - ממשקי ה-API של
LookaheadScope
הפכו ליציבים. (I21507)
גרסה 1.7.0-rc01
21 באוגוסט 2024
androidx.compose.animation:animation-*:1.7.0-rc01
משוחרר. גרסת 1.7.0-rc01 כוללת את ההוספות האלה.
גרסה 1.7.0-beta07
7 באוגוסט 2024
androidx.compose.animation:animation-*:1.7.0-beta07
משוחרר. גרסת 1.7.0-beta07 כוללת את ההוספות האלה.
תיקוני באגים
- תוקן הבאג שבו
SharedTransitionScope
לא צייר פריטים של שכבת-על במהלך מעבר בתנאים מסוימים, שבדרך כלל כוללים שימוש עם 'ניווט'. (Id65ab, b/347520198)
גרסה 1.7.0-beta06
24 ביולי 2024
androidx.compose.animation:animation-*:1.7.0-beta06
משוחרר. גרסת 1.7.0-beta06 מכילה את ההוספות האלה.
תיקוני באגים
- תוקנו דליפות במצבי המעבר של
SeekableTransition
על ידי ניקוי נכון של התצפיות מ-SnapshotStateObserver
כשהמעבר מושמד. (b9c7182) - תוקנו מקרים קיצוניים שבהם מעברים של צאצאים לא מסומנים כהושלמים כראוי כשהמעברים של ההורה מסתיימים. (dc42216)
גרסה 1.7.0-beta05
10 ביולי 2024
androidx.compose.animation:animation-*:1.7.0-beta05
משוחרר. גרסת 1.7.0-beta05 כוללת את ההוספות האלה.
תיקוני באגים
- עכשיו אפשר לקרוא את המאפיין Transition
totalDurationNanos
בצורה תקינה בתוךsnapshotFlow
.
גרסה 1.7.0-beta04
26 ביוני 2024
androidx.compose.animation:animation-*:1.7.0-beta04
משוחרר. גרסת 1.7.0-beta04 כוללת את ההוספות האלה.
גרסה 1.7.0-beta03
12 ביוני 2024
androidx.compose.animation:animation-*:1.7.0-beta03
משוחרר. גרסת 1.7.0-beta03 מכילה את ההוספות האלה.
גרסה 1.7.0-beta02
29 במאי 2024
androidx.compose.animation:animation-*:1.7.0-beta02
משוחרר. גרסת 1.7.0-beta02 כוללת את ההוספות האלה.
גרסה 1.7.0-beta01
14 במאי 2024
androidx.compose.animation:animation-*:1.7.0-beta01
משוחרר. גרסת 1.7.0-beta01 כוללת את ההוספות האלה.
שינויים ב-API
resizeModes
חדש (ScaleToBounds
ו-RemeasureToBounds
) ל-sharedBounds
כדי לבחור בין שינוי קנה המידה למדידה מחדש. ממשקי ה-API הקודמים שלscaleIn/OutSharedContentToBounds
הוצאו משימוש. (I0d41a)
תרומה חיצונית
SharedTransitionScope
הניסיוני הוא עכשיו ממשק ולא כיתה, על ידי סטיבן שון (Steven Schoen). (Iaf856, b/338415048, b/338414702)
גרסה 1.7.0-alpha08
1 במאי 2024
androidx.compose.animation:animation-*:1.7.0-alpha08
משוחרר. גרסת 1.7.0-alpha08 כוללת את ההוספות האלה.
שינויים ב-API
- ממשקי ה-API של
LookaheadScope
הפכו ליציבים. (I21507)
תרומה חיצונית
- Clear start animation time after
SeekableTransitionState
animates/snaps by Steven Schoen (1ca89529)
גרסה 1.7.0-alpha07
17 באפריל 2024
androidx.compose.animation:animation-*:1.7.0-alpha07
משוחרר. גרסת 1.7.0-alpha07 כוללת את ההוספות האלה.
תכונות חדשות
- ממשקי API חדשים למעבר בין רכיבים משותפים ממתינים לשימוש ולמשוב שלכם. ממשקי ה-API הניסיוניים החדשים האלה מאפשרים לתייג פריסות כפריסות משותפות בעץ הפריסות באמצעות המשתנים המשתנים שסופקו, וכך ליצור גבולות שמשתנים בצורה חלקה כשקבוצה אחת של תוכן משותף יוצאת וקבוצה אחרת נכנסת. (Icb0b9)
scaleInSharedContentToBounds
ו-scaleOutSharedContentToBounds
חדשים להתאמת תוכן ב-sharedBounds
(I731c1)
שינויים ב-API
AnimatedVisibilityScope.transition
הוא עכשיו ממשק API יציב. גםModifier.animateEnterExit(..)
השתפר. (I6c1d1)ApproachLayoutModifierNode
ו-Modifier.approachLayout
עכשיו יציבים, וישisMeasurementApproachInProgress()
ו-isPlacementApproachInProgress()
חדשים שיחליפו אתisMeasurementApproachComplete()
ו-isPlacementApproachComplete()
הישנים, בהתאמה.- הוסר המשתנה המשתנה
intermediateLayout
שהוצא משימוש. (I3e91c) - עכשיו אפשר להעביר ערך
periodicBias
(Float) אלkeyframesWithSpline
, וכך המהירות ההתחלתית והמהירות הסופית של הספליינים יהיו שוות. שימושי ליצירת אנימציות שניתן לחזור עליהן באמצעות ספליינים. הטיה (bias) מציינת את מידת השינוי של כל מהירות (ראשונית וסופית) כדי להשיג תקופתיות. (Ic1e6c, b/292114811)
תיקוני באגים
- תוקנו עקומות האטה של יתר או של פחות מדי, שהיו מוגבלות בעבר ל-0.1 (I38747)
גרסה 1.7.0-alpha06
3 באפריל 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
משוחרר. גרסת 1.7.0-alpha06 מכילה את ההוספות האלה.
תכונות חדשות
- נוספה תמיכה באנימציה של הופעה והיעלמות של פריטים ב-
LazyColumn
וב-LazyRow
. בעבר אפשר היה להוסיף את המאפייןModifier.animateItemPlacement()
כדי לתמוך באנימציות של מיקומי מודעות (שינוי סדר). הוצאנו משימוש את המשתנה הזה והוספנו משתנה חדש שאינו ניסיוני בשםModifier.animateItem()
, שמאפשר לכם לתמוך בכל שלושת סוגי האנימציה: הופעה (הבהרה), היעלמות (הכהה) ושינוי סדר. (I2d7f7, b/330152398, b/150812265)
תיקוני באגים
- ביצועים משופרים של
updateTransition
API.
גרסה 1.7.0-alpha05
20 במרץ 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
משוחרר. גרסת 1.7.0-alpha05 כוללת את ההוספות האלה.
שינויים ב-API
SeekableTransitionState
מחליף אתsnapTo()
ב-seekTo()
, ומוסיףsnapTo()
שמשנה את המצב למצב היעד באופן מיידי ללא אנימציה.
גרסה 1.7.0-alpha04
6 במרץ 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
משוחרר. הגרסה 1.7.0-alpha04 כוללת את ההוספות האלה.
שינויים ב-API
- ממשק API חדש
Path.reverse()
להפיכת הכיוון של נתיב (I36348)
גרסה 1.7.0-alpha03
21 בפברואר 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
משוחרר. גרסה 1.7.0-alpha03 כוללת את ההצהרות האלה.
תכונות חדשות
Modifier.animateContentSize
חדש שמקבל פרמטר נוסף ליישור תוכן מותאם אישית. (I5623a, b/269803907)DeferredTargetAnimation
ניסיוני חדש להנפשה של גודל, מיקום או כל יעד אחר שלא ידוע במהלך היצירה. (I60745)
גרסה 1.7.0-alpha02
7 בפברואר 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
משוחרר. גרסה 1.7.0-alpha02 מכילה את ההצהרות האלה.
תיקוני באגים
- תיקון תאימות עבור
KeyframesSpec
. (I2bdf3, b/322214617) - תוקן הבעיה שבה
Modifier.animateContentSize
לא מתאפס כראוי כשמשתמשים בו ב-LazyList
. (I070512, b/322525716) - תוקנה בעיה ב-
IllegalStateException
ב-KeyframesSpec
כשמשתמשים בחותמות זמן מחוץ לטווח. (I341b8, b/322839811)
גרסה 1.7.0-alpha01
24 בינואר 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
משוחרר. גרסה 1.7.0-alpha01 כוללת את ההוספות האלה.
גרסה 1.6
גרסה 1.6.8
12 ביוני 2024
androidx.compose.animation:animation-*:1.6.8
משוחרר. גרסת 1.6.8 כוללת את ההוספות האלה.
גרסה 1.6.7
1 במאי 2024
androidx.compose.animation:animation-*:1.6.7
משוחרר. גרסה 1.6.7 מכילה את ההוספות האלה.
גרסה 1.6.6
17 באפריל 2024
androidx.compose.animation:animation-*:1.6.6
משוחרר. אין שינויים מאז הגרסה הקודמת
גרסה 1.6.5
3 באפריל 2024
androidx.compose.animation:animation-*:1.6.5
משוחרר. גרסת 1.6.5 כוללת את ההוספות האלה.
גרסה 1.6.4
20 במרץ 2024
androidx.compose.animation:animation-*:1.6.4
משוחרר. גרסת 1.6.4 מכילה את ההוספות האלה.
גרסה 1.6.3
6 במרץ 2024
androidx.compose.animation:animation-*:1.6.3
משוחרר. גרסת 1.6.3 כוללת את ההוספות האלה.
גרסה 1.6.2
21 בפברואר 2024
androidx.compose.animation:animation-*:1.6.2
משוחרר. גרסה 1.6.2 כוללת את השמירות האלה.
גרסה 1.6.1
7 בפברואר 2024
androidx.compose.animation:animation-*:1.6.1
משוחרר. גרסה 1.6.1 כוללת את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תיקון תאימות עבור
KeyframesSpec
. (I2bdf3, b/322214617)
גרסה 1.6.0
24 בינואר 2024
androidx.compose.animation:animation-*:1.6.0
משוחרר. גרסה 1.6.0 כוללת את ההצהרות האלה.
גרסה 1.6.0-rc01
10 בינואר 2024
androidx.compose.animation:animation-*:1.6.0-rc01
משוחרר. גרסה 1.6.0-rc01 כוללת את השמירות האלה.
גרסה 1.6.0-beta03
13 בדצמבר 2023
androidx.compose.animation:animation-*:1.6.0-beta03
משוחרר. גרסה 1.6.0-beta03 מכילה את ההצהרות האלה.
שינויים ב-API
- הוסרו באופן זמני
scaleInToFitContainer
ו-scaleOutToFitContainer
מ-AnimatedContentTransitionScope
כי הם דורשים בדיקה קדימה. הן יהיו זמינות כשהתכונה 'הצגת נתונים מראש' תופעל כברירת מחדל או כשהיא תהיה זמינה לבחירה בגרסאות עתידיות.
גרסה 1.6.0-beta02
29 בנובמבר 2023
androidx.compose.animation:animation-*:1.6.0-beta02
משוחרר. גרסה 1.6.0-beta02 מכילה את השמירות האלה.
גרסה 1.6.0-beta01
15 בנובמבר 2023
androidx.compose.animation:animation-*:1.6.0-beta01
משוחרר. גרסה 1.6.0-beta01 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
שינויים ב-API
- השם של
ExitTransition.Hold
השתנה ל-ExitTransition.KeepUntilTransitionsFinished
כדי להבהיר את המשמעות. (I1c490) - עכשיו אפשר להשתמש ב-
keyframesWithSpline
כדי לבצע אינטרפולציה של כל ערך בעל N מאפיינים באמצעות ספליינים מונוטוניים. כדאי במיוחד לבצע אינטרפולציה של ערכים פוזיציוניים כמוOffset
, IntOffset
, DpOffset
. הוספה כ-API ניסיוני.
תיקוני באגים
- הוספת תמיכה במעבד גרפיקה ל-Sweep Gradient ב-
ArcLine
. (I4d5bb) - מטמיעים את equals ואת hashcode עבור
PageSize.Fixed
. (Ie3ede, b/300134276) - תיקון בעיה בתאימות הבינארית בעקבות שינוי ב-Window Inset. (Iee695)
- כדאי להסיר את שכבת הליבה של Material3 עבור צ'יפ/לחצן של Material3, כי לפי בדיקות המיקרו-ביצועים הביצועים טובים יותר בלי שכבה זו. (I55555)
גרסה 1.6.0-alpha08
18 באוקטובר 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
משוחרר. גרסה 1.6.0-alpha08 מכילה את ההצהרות האלה.
שינויים ב-API
- הוחלפה
KeyframesSpecConfig#with
ב-KeyframesSpecConfig#using
, שמשמרת את תבנית ה-builder. (I1d769)
גרסה 1.6.0-alpha07
4 באוקטובר 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
משוחרר. גרסה 1.6.0-alpha07 מכילה את ההוספות האלה.
שינויים ב-API
- ל-Tabrows קבועים וניתנים לגלילה יש עכשיו וריאנטים ראשיים ומשניים. הם ממופים בצורה נכונה להתנהגות של הצבע והחיווין כפי שמוגדרים ב-Material3.
- עכשיו אפשר לראות את מצב הגלילה ב-
PrimaryScrollableTabRow
וב-SecondaryScrollableTabRow
. (Iec8f5, b/260572337)
גרסה 1.6.0-alpha06
20 בספטמבר 2023
androidx.compose.animation:animation-*:1.6.0-alpha06
משוחרר. גרסה 1.6.0-alpha06 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
גרסה 1.6.0-alpha05
6 בספטמבר 2023
androidx.compose.animation:animation-*:1.6.0-alpha05
משוחרר. גרסה 1.6.0-alpha05 מכילה את ההצהרות האלה.
שינויים ב-API
- נוספה
PathEasing
כדי לאפשר לספק נתיב שרירותי לעקומת העקומה. (Idb4b9)
גרסה 1.6.0-alpha04
23 באוגוסט 2023
androidx.compose.animation:animation-*:1.6.0-alpha04
משוחרר. גרסה 1.6.0-alpha04 מכילה את ההצהרות האלה.
שינויים ב-API
- מוסיפים את
SeekableTransitionState
כדי לאפשר למפתחים לשלוט בהתקדמות של המעבר. (I8e69d)
גרסה 1.6.0-alpha03
9 באוגוסט 2023
androidx.compose.animation:animation-*:1.6.0-alpha03
משוחרר. גרסה 1.6.0-alpha03 מכילה את ההצהרות האלה.
שינויים ב-API
- סוג חדש של מעבר כניסה/יציאה שבו המערכת משנה את הגודל של התוכן בהתאם לגודל של מאגר התגים שמכיל את האנימציה במהלך האנימציה של הכניסה והיציאה.
LookaheadScope
הממשק והתכונה 'שימוש ברכיבים' יציב עכשיו. (Ifb2ce)
גרסה 1.6.0-alpha02
26 ביולי 2023
androidx.compose.animation:animation-*:1.6.0-alpha02
משוחרר. גרסה 1.6.0-alpha02 מכילה את ההוספות האלה.
שינויים ב-API
ExitTransition.Hold
חדש כדי להציג את התוכן היוצא ב-AnimatedContent
עד שהמעבר לכניסה וליציאה יסתיים. (I5984f)- הערות נוספות לציון הקלטות המותרות לרכיבים הניתנים לשילוב (I51109)
גרסה 1.6.0-alpha01
21 ביוני 2023
androidx.compose.animation:animation-*:1.6.0-alpha01
משוחרר. גרסה 1.6.0-alpha01 מכילה את ההוספות האלה.
תכונות חדשות
- כדי לאפשר לשדות
Modifier.animateContentSize
ו-AnimatedVisibility
להשתלב באופן מלא במערכת ה-lookahead, צריך לדווח על גודל היעד במעבר ה-lookahead.
שינויים ב-API
- מאפיין חדש ב-
IntrinsincMeasureScope
והטמעות שלו (למשלMeasureScope
) כדי לציין אם סבב המדידה הנוכחי הוא סבב תחזית. (I7a812)
תיקוני באגים
- הוסרו הקצאות מאנימציות קפיץ. (Ie9431)
- שם הפרמטר value של Enum.valueOf השתנה (Ia9b89)
- חריגות נוספות שהושלחו מ-valueOf של enum (I818fe)
גירסה 1.5
גרסה 1.5.4
18 באוקטובר 2023
androidx.compose.animation:animation-*:1.5.4
משוחרר. גרסה 1.5.4 מכילה את השמירות האלה.
גרסה 1.5.3
4 באוקטובר 2023
androidx.compose.animation:animation-*:1.5.3
משוחרר. אין שינויים בגרסה הזו
גרסה 1.5.2
27 בספטמבר 2023
androidx.compose.animation:animation-*:1.5.2
משוחרר. גרסה 1.5.2 מכילה את השמירות האלה.
גירסה 1.5.1
6 בספטמבר 2023
androidx.compose.foundation:foundation-*:1.5.1
משוחרר. גרסה 1.5.1 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תוקנו שדות טקסט שמוצגת בהם מקלדת ואפשר לערוך אותם כשהערך של
readOnly
הוא true. תוקנה גם בעיה שבה המקלדת לא מוצגת כשהערך שלreadOnly
משתנה מ-true ל-false בזמן המיקוד. (I34a19, b/246909589)
גירסה 1.5.1
6 בספטמבר 2023
androidx.compose.animation:animation-*:1.5.1
משוחרר. גרסה 1.5.1 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
גרסה 1.5.0
9 באוגוסט 2023
androidx.compose.animation:animation-*:1.5.0
משוחרר. גרסה 1.5.0 כוללת את השמירות האלה.
גרסה 1.5.0-rc01
26 ביולי 2023
androidx.compose.animation:animation-*:1.5.0-rc01
משוחרר. גרסה 1.5.0-rc01 כוללת את השמירות האלה.
תיקוני באגים
תוקנה בעיה שבה קריאה ל-
.value
על סוג סטטוס פרימיטיבי (כמוMutableIntState
) הייתה מדווחת על אזהרת איתור שגיאות בקוד עם תיקון לא תקין. בביקורת יוצג עכשיו המלצה להעברה לנכס הנכון. (Iba953, b/287279257)יש בדיקה אופציונלית שממליצה להעביר קריאות
mutableStateOf()
לסוגי פרימיטיבים מתאימים. מזהה האיתור של השגיאות בקוד הואAutoboxingStateCreation
. בעבר, הבדיקה הזו הייתה מופעלת כברירת מחדל בכל הפרויקטים. כדי לראות את האזהרה הזו בעורך של Android Studio ובפלט של איתור השגיאות בקוד (lint) של הפרויקט, צריך לשנות את רמת החומרה שלה מ'מידע' ל'אזהרה' (או לרמה גבוהה יותר) על ידי הצהרה עלwarning "AutoboxingStateCreation"
בתוך ההגדרהbuild.gradle
אוbuild.gradle.kts
של המודול, כפי שמוצג (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
גרסה 1.5.0-beta03
28 ביוני 2023
androidx.compose.animation:animation-*:1.5.0-beta03
משוחרר. גרסה 1.5.0-beta03 מכילה את ההצהרות האלה.
גרסה 1.5.0-beta02
7 ביוני 2023
androidx.compose.animation:animation-*:1.5.0-beta02
משוחרר. גרסה 1.5.0-beta02 כוללת את ההצהרות האלה.
גרסה 1.5.0-beta01
24 במאי 2023
androidx.compose.animation:animation-*:1.5.0-beta01
משוחרר. גרסה 1.5.0-beta01 כוללת את ההצהרות האלה.
שינויים ב-API
- הוסרו הקצאות ביצירת קומפוזיציה מחדש, באנימציות צבע וב-
AndroidComposeView
(Ib2bfa)
תיקוני באגים
- הוסרו הקצאות מאנימציות קפיץ (Ie9431)
גרסה 1.5.0-alpha04
10 במאי 2023
androidx.compose.animation:animation-*:1.5.0-alpha04
משוחרר. גרסה 1.5.0-alpha04 מכילה את ההצהרות האלה.
שינויים ב-API
- עכשיו יש תמיכה ב-
ContentKey
ב-AnimatedContent
כדי לאפשר לכם לשלוט טוב יותר במועד המעבר. (Ic069b)
גרסה 1.5.0-alpha03
19 באפריל 2023
androidx.compose.animation:animation-*:1.5.0-alpha03
משוחרר. גרסה 1.5.0-alpha03 מכילה את ההצהרות האלה.
תכונות חדשות
- התנהגות ברירת המחדל החדשה של
SubcomposeLayout
ב-LookaheadScope
. הוא מאפשר ל-SubcomposeLayouts
שאין להם משבצות מותנות (למשלTabRow
,Scaffold
,BoxWithConstraints
וכו') לפעול בצורה חלקה עם אנימציות של תחזית קדימה.
שינויים ב-API
- ערך ברירת מחדל חדש של
intermediateMeasurePolicy
שמשתמש שוב במדיניות המדידה מהמעבר של תחזית העתיד מאפשר לסוגים המשנה שלSubcomposeLayout
ללא משבצות מותנות, כמוScaffold
,TabRow
ו-BoxWithConstraints
, לפעול עם תחזית העתיד כברירת מחדל. (Id84c8) - כדי לשלב מעברים של כניסה ויציאה, משנים את השם של הפונקציה infix fun ל-
togetherWith
.AnimatedContentScope
חדש כמקבל של פונקציית הלמהדה של התוכן. (Ic39ae)
גרסה 1.5.0-alpha02
5 באפריל 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
משוחרר. גרסה 1.5.0-alpha02 כוללת את ההוספות האלה.
תכונות חדשות
- ממשק API ניסיוני חדש לתמיכה בתכונה 'הצגת נתונים מראש' ב-
SubcomposeLayout
. כך אפשר יהיה להשתמש ב-SubcomposeLayout
בצורה תקינה ב-LookaheadScope
. בקרוב נוסיף תמיכה מובנית נוספת בסוגי משנה ספציפיים שלSubcomposeLayout
.
שינויים ב-API
- ממשק API חדש של
SubcomposeLayout
שמשתמש במדיניות נוספת של מדידה ביניים לטיפול בלוגיקה של מדידה/פריסה במהלך אנימציות שמבוססות על תחזית. (I017d3)
גרסה 1.5.0-alpha01
22 במרץ 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
משוחרר. גרסה 1.5.0-alpha01 כוללת את ההצהרות האלה.
שינויים ב-API
- ממשקי ה-API של
AnimatedContent
עכשיו יציבים. השם שלAnimatedContentScope
השתנה ל-AnimatedContentTransitionScope
.scaleIn
ו-scaleOut
הם עכשיו ממשקי API יציבים. (Iaf54e)
גרסה 1.4
גרסה 1.4.3
3 במאי 2023
הגרסאות androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
ו-androidx.compose.animation:animation-graphics:1.4.3
פורסמו ללא שינויים (רק שדרוג גרסה).
גרסה 1.4.2
19 באפריל 2023
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
ו-androidx.compose.animation:animation-graphics:1.4.2
פורסמו ללא שינויים. גרסה 1.4.2 כוללת את השמירות האלה.
גרסה 1.4.1
5 באפריל 2023
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
ו-androidx.compose.animation:animation-graphics:1.4.1
פורסמו ללא שינויים. גרסה 1.4.1 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
גרסה 1.4.0
22 במרץ 2023
התכונות androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
וגם androidx.compose.animation:animation-graphics:1.4.0
משוחררות. גרסה 1.4.0 כוללת את ההצהרות האלה.
שינויים חשובים מאז גרסה 1.3.0
- תווית הכלי נתמכת ב-r
ememberInfiniteTransition
ובכל פונקציות ההרחבה ב-InfiniteTransition
וב-Transition (למשלInfiniteTransition#animateColor
) (I56ef7)
גרסה 1.4.0-rc01
8 במרץ 2023
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
ו-androidx.compose.animation:animation-graphics:1.4.0-rc01
פורסמו ללא שינויים. גרסה 1.4.0-rc01 כוללת את השמירות האלה.
גרסה 1.4.0-beta02
22 בפברואר 2023
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
ו-androidx.compose.animation:animation-graphics:1.4.0-beta02
פורסמו ללא שינויים. גרסה 1.4.0-beta02 כוללת את ההצהרות האלה.
גרסה 1.4.0-beta01
8 בפברואר 2023
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
ו-androidx.compose.animation:animation-graphics:1.4.0-beta01
פורסמו ללא שינויים. גרסה 1.4.0-beta01 מכילה את ההוספות האלה.
גרסה 1.4.0-alpha05
25 בינואר 2023
התכונות androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
וגם androidx.compose.animation:animation-graphics:1.4.0-alpha05
משוחררות. גרסה 1.4.0-alpha05 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
שינויים
- לא בוצעו שינויים בספריות האנימציה מאז גרסת האלפא האחרונה, רק שדרוג גרסה
גרסה 1.4.0-alpha04
11 בינואר 2023
התכונות androidx.compose.animation:animation:1.4.0-alpha04
, androidx.compose.animation:animation-core:1.4.0-alpha04
וגם androidx.compose.animation:animation-graphics:1.4.0-alpha04
משוחררות. גרסה 1.4.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תכונות חדשות
- תווית כלים נתמכת ב-
rememberInfiniteTransition
ובכל פונקציות ההרחבה ב-InfiniteTransition
וב-Transition
(למשלInfiniteTransition#animateColor
) (I56ef7)
שינויים ב-API
- ממשקי ה-API של
InfiniteTransition#TransitionAnimationState
ו-InfiniteTransition#animations
הם עכשיו ציבוריים. (I36682)
גרסה 1.4.0-alpha03
7 בדצמבר 2022
התכונות androidx.compose.animation:animation:1.4.0-alpha03
, androidx.compose.animation:animation-core:1.4.0-alpha03
וגם androidx.compose.animation:animation-graphics:1.4.0-alpha03
משוחררות. גרסה 1.4.0-alpha03 כוללת את ההצהרות האלה.
שינויים ב-API
- בבדיקות ממשק משתמש שמשתמשות בכלל Compose, ההמשכות שהתחדשו במהלך קריאות חזרה (callbacks) של
withFrameNanos
לא יישלחו עד שכל הקריאות החוזרות של המסגרות יסתיימו. זה תואם להתנהגות של compose כשהוא פועל באופן רגיל. עם זאת, בדיקות שמסתמכות על ההתנהגות הישנה עשויות להיכשל. השינוי הזה אמור להשפיע רק על קוד שמפעיל אתwithFrameNanos
או אתwithFrameMillis
ישירות, ויש לו לוגיקה מחוץ לפונקציית הקריאה החוזרת שמועברת לפונקציות האלה, וייתכן שיהיה צורך להעביר אותה לתוך הפונקציות האלה. בדוגמאות האלה אפשר לראות את השינויים בבדיקת האנימציה. - נוספה פרמטר
onPerformTraversals: (Long) -> Unit
אופציונלי ל-constructor ולפונקציית ה-factory שלTestMonotonicFrameClock
כדי להריץ קוד אחרי קריאות חוזרות (callbacks) שלwithFrameNanos
, אבל לפני שממשיכים את רצפי הפעולות החוזרות (coroutines) של מבצעי הקריאה החוזרת. (Idb413, b/254115946, b/222093277, b/255802670) - פרמטר חדש ב-
AnimatedContent
לתווית כלי (Iebe2d)
גרסה 1.4.0-alpha02
9 בנובמבר 2022
התכונות androidx.compose.animation:animation:1.4.0-alpha02
, androidx.compose.animation:animation-core:1.4.0-alpha02
וגם androidx.compose.animation:animation-graphics:1.4.0-alpha02
משוחררות. גרסה 1.4.0-alpha02 מכילה את ההצהרות האלה.
שינויים ב-API
- הוספת
ToolingState
כדי לאפשר לכלים לשנות מצבים פנימיים של Composable (Ie6614)
גרסה 1.4.0-alpha01
24 באוקטובר 2022
התכונות androidx.compose.animation:animation:1.4.0-alpha01
, androidx.compose.animation:animation-core:1.4.0-alpha01
וגם androidx.compose.animation:animation-graphics:1.4.0-alpha01
משוחררות. גרסה 1.4.0-alpha01 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תיקון אנימציה שגויה של השהייה ב-AnimatedContent (b/238662479)
גרסה 1.3
גרסה 1.3.3
11 בינואר 2023
התכונות androidx.compose.animation:animation:1.3.3
, androidx.compose.animation:animation-core:1.3.3
וגם androidx.compose.animation:animation-graphics:1.3.3
משוחררות. גרסה 1.3.3 מכילה את ההוספות האלה.
- לא בוצעו שינויים מאז הגרסה 1.3.2.
גרסה 1.3.2
7 בדצמבר 2022
התכונות androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
וגם androidx.compose.animation:animation-graphics:1.3.2
משוחררות. גרסה 1.3.2 מכילה את ההצהרות האלה.
תיקוני באגים
- העדכון תומך ב-androidx.compose.ui 1.3.2
גרסה 1.3.1
9 בנובמבר 2022
התכונות androidx.compose.animation:animation:1.3.1
, androidx.compose.animation:animation-core:1.3.1
וגם androidx.compose.animation:animation-graphics:1.3.1
משוחררות. גרסה 1.3.1 מכילה את השמירות האלה.
גרסה 1.3.0
24 באוקטובר 2022
התכונות androidx.compose.animation:animation:1.3.0
, androidx.compose.animation:animation-core:1.3.0
וגם androidx.compose.animation:animation-graphics:1.3.0
משוחררות. גרסה 1.3.0 כוללת את ההצהרות האלה.
שינויים חשובים מאז גרסה 1.2.0
- קבוצה חדשה של פונקציות השתנות הדרגתית הפכה ליציבה
גרסה 1.3.0-rc01
5 באוקטובר 2022
התכונות androidx.compose.animation:animation:1.3.0-rc01
, androidx.compose.animation:animation-core:1.3.0-rc01
וגם androidx.compose.animation:animation-graphics:1.3.0-rc01
משוחררות. גרסה 1.3.0-rc01 כוללת את ההצהרות האלה.
גרסה 1.3.0-beta03
21 בספטמבר 2022
התכונות androidx.compose.animation:animation:1.3.0-beta03
, androidx.compose.animation:animation-core:1.3.0-beta03
וגם androidx.compose.animation:animation-graphics:1.3.0-beta03
משוחררות. גרסה 1.3.0-beta03 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
- אין שינויים מאז גרסת 1.3.0-beta02.
גרסה 1.3.0-beta02
7 בספטמבר 2022
התכונות androidx.compose.animation:animation:1.3.0-beta02
, androidx.compose.animation:animation-core:1.3.0-beta02
וגם androidx.compose.animation:animation-graphics:1.3.0-beta02
משוחררות. גרסה 1.3.0-beta02 מכילה את ההצהרות האלה.
- הוסר Kotlin.experimental מאפשרויות המהדר, כי הוא לא בשימוש
גרסה 1.3.0-beta01
24 באוגוסט 2022
התכונות androidx.compose.animation:animation:1.3.0-beta01
, androidx.compose.animation:animation-core:1.3.0-beta01
וגם androidx.compose.animation:animation-graphics:1.3.0-beta01
משוחררות. גרסה 1.3.0-beta01 מכילה את ההצהרות האלה.
גרסה 1.3.0-alpha03
10 באוגוסט 2022
התכונות androidx.compose.animation:animation:1.3.0-alpha03
, androidx.compose.animation:animation-core:1.3.0-alpha03
וגם androidx.compose.animation:animation-graphics:1.3.0-alpha03
משוחררות. גרסה 1.3.0-alpha03 מכילה את ההצהרות האלה.
שינויים ב-API
- פרמטר חדש ב-
Crossfade
, ב-animateAsState
וב-Animatable
לתווית של כלי הפיתוח (Iac08a) - הוספנו את הפונקציה
atFraction
להגדרת נקודות מפתח בחלק של זמן במקום במשך זמן ספציפי. (I20c76, b/232059455)
גרסה 1.3.0-alpha02
27 ביולי 2022
התכונות androidx.compose.animation:animation:1.3.0-alpha02
, androidx.compose.animation:animation-core:1.3.0-alpha02
וגם androidx.compose.animation:animation-graphics:1.3.0-alpha02
משוחררות. גרסה 1.3.0-alpha02 מכילה את ההצהרות האלה.
גרסה 1.3.0-alpha01
29 ביוני 2022
התכונות androidx.compose.animation:animation:1.3.0-alpha01
, androidx.compose.animation:animation-core:1.3.0-alpha01
וגם androidx.compose.animation:animation-graphics:1.3.0-alpha01
משוחררות. גרסה 1.3.0-alpha01 כוללת את ההוספות האלה.
שינויים ב-API
LookaheadLayout
חדש שתומך במעבר מבט קדימה לפני המדידה או הפריסה בפועל. כך אפשר לחשב מראש את הפריסה כשהיא משתנה, תוך מתן אפשרות למדד/לפריסה של lookahead להשתמש בגודל/במיקום שחושבו מראש כדי ליצור אנימציה של הגודל והמיקומים לעבר היעד.SubcomposeLayouts
עדיין לא נתמכים, אבל הם יהיו זמינים בגרסה עתידית. (I477f5)
גרסה 1.2
גרסה 1.2.1
10 באוגוסט 2022
התכונות androidx.compose.animation:animation:1.2.1
, androidx.compose.animation:animation-core:1.2.1
וגם androidx.compose.animation:animation-graphics:1.2.1
משוחררות. גרסה 1.2.1 מכילה את השמירות האלה.
גרסה 1.2.0
27 ביולי 2022
התכונות androidx.compose.animation:animation:1.2.0
, androidx.compose.animation:animation-core:1.2.0
וגם androidx.compose.animation:animation-graphics:1.2.0
משוחררות. גרסה 1.2.0 מכילה את ההוספות האלה.
שינויים חשובים מאז גרסה 1.1.0
- עכשיו יש תמיכה בהגדרה 'קנה מידה למשך זמן אנימציה' ביצירת אנימציה מתוך אפשרויות הפיתוח.
- מבחר גדול של עקומות ניסיוניות חדשות של עקומות העברה.
AnimatedImageVector
תומך עכשיו ב-repeatCount
וב-repeatMode
גרסה 1.2.0-rc03
29 ביוני 2022
התכונות androidx.compose.animation:animation:1.2.0-rc03
, androidx.compose.animation:animation-core:1.2.0-rc03
וגם androidx.compose.animation:animation-graphics:1.2.0-rc03
משוחררות. גרסה 1.2.0-rc03 כוללת את ההצהרות האלה.
- אין שינויים מאז 1.2.0-rc02.
גרסה 1.2.0-rc02
22 ביוני 2022
התכונות androidx.compose.animation:animation:1.2.0-rc02
, androidx.compose.animation:animation-core:1.2.0-rc02
וגם androidx.compose.animation:animation-graphics:1.2.0-rc02
משוחררות. גרסה 1.2.0-rc02 כוללת את ההוספות האלה.
תיקוני באגים
- הוסרה ההערה
ExperimentalEasingApi
על פונקציות Easing (Ied441)
גרסה 1.2.0-rc01
15 ביוני 2022
התכונות androidx.compose.animation:animation:1.2.0-rc01
, androidx.compose.animation:animation-core:1.2.0-rc01
וגם androidx.compose.animation:animation-graphics:1.2.0-rc01
משוחררות. גרסה 1.2.0-rc01 כוללת את ההוספות האלה.
שינויים ב-API
- ממשקים בספריות של compose נוצרים עכשיו באמצעות שיטות ברירת המחדל של ממשק jdk8 (I5bcf1)
גרסה 1.2.0-beta03
1 ביוני 2022
התכונות androidx.compose.animation:animation:1.2.0-beta03
, androidx.compose.animation:animation-core:1.2.0-beta03
וגם androidx.compose.animation:animation-graphics:1.2.0-beta03
משוחררות. גרסה 1.2.0-beta03 מכילה את ההצהרות האלה על ביצוע שינויים.
שינויים ב-API
- נוספו עקומות ניסיוניות של עידוד תנועה לאנימציות (I64a38)
גרסה 1.2.0-beta02
18 במאי 2022
התכונות androidx.compose.animation:animation:1.2.0-beta02
, androidx.compose.animation:animation-core:1.2.0-beta02
וגם androidx.compose.animation:animation-graphics:1.2.0-beta02
משוחררות. גרסה 1.2.0-beta02 מכילה את ההצהרות האלה.
גרסה 1.2.0-beta01
11 במאי 2022
התכונות androidx.compose.animation:animation:1.2.0-beta01
, androidx.compose.animation:animation-core:1.2.0-beta01
וגם androidx.compose.animation:animation-graphics:1.2.0-beta01
משוחררות. גרסה 1.2.0-beta01 כוללת את ההצהרות האלה.
- זוהי גרסת הבטא הראשונה של 1.2! אין שינויים מאז גרסת האלפא האחרונה.
גרסה 1.2.0-alpha08
20 באפריל 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha08
, androidx.compose.animation:animation-core:1.2.0-alpha08
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha08
משוחררות. גרסה 1.2.0-alpha08 מכילה את ההוספות האלה.
גרסה 1.2.0-alpha07
6 באפריל 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha07
, androidx.compose.animation:animation-core:1.2.0-alpha07
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha07
משוחררות. גרסה 1.2.0-alpha07 מכילה את ההצהרות האלה.
שינויים ב-API
AnimatedImageVector
תומך עכשיו ב-repeatCount
וב-repeatMode
(Ia3e75, b/199304067)
גרסה 1.2.0-alpha06
23 במרץ 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha06
, androidx.compose.animation:animation-core:1.2.0-alpha06
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha06
משוחררות. גרסה 1.2.0-alpha06 מכילה את ההצהרות האלה.
שינויים ב-API
- עדכון הניתוח של רכיבי drawable וקווים וקטוריים כדי לתמוך בהשתקפות אוטומטית של התוכן של
VectorPainter
אם כיוון הפריסה הנוכחי הוא RTL. (I79cd9, b/185760237)
תיקוני באגים
- עדכנו את ממשקי ה-API של גרפיקה וקטורית כך שישתמשו בהערה המתאימה שניתנת ליצירה
@VectorComposable
במקום@UiComposable
(I942bc)
גרסה 1.2.0-alpha05
9 במרץ 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha05
משוחררות. גרסה 1.2.0-alpha05 מכילה את ההוספות האלה.
שינויים ב-API
- הידד! עכשיו יש תמיכה בהגדרה 'קנה מידה למשך זמן אנימציה' ביצירת אנימציה מתוך אפשרויות הפיתוח. (I5a4fc, b/161675988)
גרסה 1.2.0-alpha04
23 בפברואר 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha04
, androidx.compose.animation:animation-core:1.2.0-alpha04
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha04
משוחררות. גרסה 1.2.0-alpha04 מכילה את ההוספות האלה.
גרסה 1.2.0-alpha03
9 בפברואר 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha03
, androidx.compose.animation:animation-core:1.2.0-alpha03
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha03
משוחררות. גרסה 1.2.0-alpha03 כוללת את ההוספות האלה.
גרסה 1.2.0-alpha02
26 בינואר 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha02
, androidx.compose.animation:animation-core:1.2.0-alpha02
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha02
משוחררות. גרסה 1.2.0-alpha02 מכילה את ההוספות האלה.
גרסה 1.2.0-alpha01
12 בינואר 2022
התכונות androidx.compose.animation:animation:1.2.0-alpha01
, androidx.compose.animation:animation-core:1.2.0-alpha01
וגם androidx.compose.animation:animation-graphics:1.2.0-alpha01
משוחררות. גרסה 1.2.0-alpha01 כוללת את ההוספות האלה.
שינויים ב-API
- משתמשים ב-
AnimatedImageVector.animatedVectorResource
במקום ב-animatedVectorResource
כדי לטעון קובץ משאבים מסוג<animated-vector>
.- משתמשים ב-
rememberAnimatedVectorResource
במקום ב-AnimatedImageVector#painterFor
כדי להציגAnimatedImageVector
. (I9c300)
- משתמשים ב-
תיקוני באגים
- הוספת שיטות toString ל-Animatable ול-AnimationResult. (Icd3a6)
עדכוני יחסי תלות
- עכשיו תלוי ב-Kotlin
1.6.10
.
גרסה 1.1
גרסה 1.1.1
23 בפברואר 2022
התכונות androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
וגם androidx.compose.animation:animation-graphics:1.1.1
משוחררות. גרסה 1.1.1 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תיקון
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.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
וגם androidx.compose.animation:animation-graphics:1.1.0
משוחררות. גרסה 1.1.0 כוללת את השמירות האלה.
שינויים חשובים מאז גרסה 1.0.0
- תמיכה יציבה באפקט גלילה מעבר למסגרת ב-Android 12
- שיפורים בגודל של משטח המגע
- שימו לב שבגרסה 1.0 של Compose, רכיבי Material ירחיבו את שטח הפריסה שלהם כדי לעמוד בהנחיות הנגישות של Material לגבי גודל יעד המגע. לדוגמה, יעד המגע של הלחצן יתרחב לגודל מינימלי של 48x48dp, גם אם תגדירו את הגודל של הלחצן לגודל קטן יותר. כך Compose Material תואם לאותו התנהגות של רכיבי Material Design, ומספק התנהגות עקבית אם משלבים בין Views לבין Compose. השינוי הזה גם מבטיח שכשיוצרים את ממשק המשתמש באמצעות רכיבי Material של Compose, מתקיימים הדרישות המינימליות לנגישות של יעדי מגע.
- תמיכה יציבה בפס ניווט
- מספר ממשקי API שהיו בעבר ניסיוניים מקבלים סטטוס יציב
- תמיכה בגרסאות חדשות יותר של Kotlin
גרסה 1.1.0-rc03
26 בינואר 2022
התכונות androidx.compose.animation:animation:1.1.0-rc03
, androidx.compose.animation:animation-core:1.1.0-rc03
וגם androidx.compose.animation:animation-graphics:1.1.0-rc03
משוחררות. גרסה 1.1.0-rc03 כוללת את ההוספות האלה.
תיקוני באגים
- העדכון תומך ב-Compose Material 1.1.0-rc03
גרסה 1.1.0-rc01
15 בדצמבר 2021
androidx.compose.animation:animation:1.1.0-rc01
ו-androidx.compose.animation:animation-core:1.1.0-rc01
משוחררים. גרסה 1.1.0-rc01 כוללת את השמירות האלה.
שינויים ב-API
- משתמשים ב-
AnimatedImageVector.animatedVectorResource
במקום ב-animatedVectorResource
כדי לטעון קובץ משאבים מסוג<animated-vector>
.- משתמשים ב-
rememberAnimatedVectorResource
במקום ב-AnimatedImageVector#painterFor
כדי להציגAnimatedImageVector
. (I9c300)
- משתמשים ב-
גרסה 1.1.0-beta04
1 בדצמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-beta04
, androidx.compose.animation:animation-core:1.1.0-beta04
וגם androidx.compose.animation:animation-graphics:1.1.0-beta04
משוחררות. גרסה 1.1.0-beta04 כוללת את ההצהרות האלה.
תכונות חדשות
- עודכן כך שיהיה תואם ל-Kotlin
1.6.0
גרסה 1.1.0-beta03
17 בנובמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-beta03
, androidx.compose.animation:animation-core:1.1.0-beta03
וגם androidx.compose.animation:animation-graphics:1.1.0-beta03
משוחררות. גרסה 1.1.0-beta03 כוללת את ההצהרות האלה.
שינויים ב-API
- הוספנו את המשתנה החדש Modifier.onPlaced כדי לאפשר מעקב אחרי שינויים במיקום. לכן, אפשר לבצע שינויים נוספים בהיסט של המשתנה הצאצא על סמך השינוי שנצפה במיקום המודעה. (I558fd)
תמיכה חדשה ב-contentKey ב-Crossfade. מערכת האנימציה תשתמש ב-ContentKey לבדיקת השוויון. לכן, כדי לבצע השוואה מותאמת אישית בין מצבים, צריך לציין את contentKey המתאים למצבים השונים.
ContentKey ישמש גם כמפתח לשמירת תוכן ולשחזור תוכן. (I2e055, b/197907070)
גרסה 1.1.0-beta02
3 בנובמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-beta02
, androidx.compose.animation:animation-core:1.1.0-beta02
וגם androidx.compose.animation:animation-graphics:1.1.0-beta02
משוחררות. גרסה 1.1.0-beta02 כוללת את ההתחייבויות האלה.
תיקוני באגים
- ממשקי API חדשים ליצירת אנימציות לצורך תמיכה בכלים. באופן ספציפי, הם מאפשרים לכלים לבדוק את האנימציות ואת ההגדרות שלהן ב-Transitions. (I4116e)
גרסה 1.1.0-beta01
27 באוקטובר 2021
התכונות androidx.compose.animation:animation:1.1.0-beta01
, androidx.compose.animation:animation-core:1.1.0-beta01
וגם androidx.compose.animation:animation-graphics:1.1.0-beta01
משוחררות. גרסה 1.1.0-beta01 כוללת את ההצהרות האלה.
שינויים ב-API
- ממשקי API חדשים ליצירת אנימציות לצורך תמיכה בכלים. באופן ספציפי, הם מאפשרים לכלים לבדוק את האנימציות ואת ההגדרות שלהן ב-Transitions. (I4116e)
גרסה 1.1.0-alpha06
13 באוקטובר 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha06
, androidx.compose.animation:animation-core:1.1.0-alpha06
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha06
משוחררות. גרסה 1.1.0-alpha06 מכילה את ההוספות האלה.
גרסה 1.1.0-alpha05
29 בספטמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha05
, androidx.compose.animation:animation-core:1.1.0-alpha05
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha05
משוחררות. גרסה 1.1.0-alpha05 מכילה את ההצהרות האלה.
שינויים ב-API
EnterTransition
,ExitTransition
וחלק מממשקי ה-API שלAnimatedVisibility
הפכו ליציבים. גםMutableTransitionState.isIdle
לא נחשב יותר לניסיוני. (I5072d)שינוי שגורם לשינוי קוד: פונקציות lambda במפעלים של Enter/ExitTransition הועברו למיקום האחרון ברשימה של הפרמטרים. (I5072d)
גרסה 1.1.0-alpha04
15 בספטמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha04
, androidx.compose.animation:animation-core:1.1.0-alpha04
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha04
משוחררות. גרסה 1.1.0-alpha04 מכילה את ההוספות האלה.
גרסה 1.1.0-alpha03
1 בספטמבר 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha03
, androidx.compose.animation:animation-core:1.1.0-alpha03
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha03
משוחררות. גרסה 1.1.0-alpha03 כוללת את ההוספות האלה.
תכונות חדשות
- עדכנו את Compose
1.1.0-alpha03
כך שיהיה תלוי ב-Kotlin1.5.30
. (I74545)
גרסה 1.1.0-alpha02
18 באוגוסט 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha02
, androidx.compose.animation:animation-core:1.1.0-alpha02
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha02
משוחררות. גרסה 1.1.0-alpha02 מכילה את ההוספות האלה.
שינויים ב-API
- עכשיו יש תמיכה ב-StartOffset ב-repeatable וב-infiniteRepeatable, כדרך לעכב את זמן ההתחלה או להריץ את האנימציה מהר לפני שהיא מתחילה. ההיסט הזה של ההתחלה לא יחזור על עצמו (Ic679f, b/195079908)
- מעבר חדש של כניסה/יציאה לסולם. אפשר להשתמש בו בשילוב עם סוגים אחרים של מעברים של כניסה/יציאה. (I372da, b/191325593)
גרסה 1.1.0-alpha01
4 באוגוסט 2021
התכונות androidx.compose.animation:animation:1.1.0-alpha01
, androidx.compose.animation:animation-core:1.1.0-alpha01
וגם androidx.compose.animation:animation-graphics:1.1.0-alpha01
משוחררות. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.
שינויים ב-API
AnimatedImageVector
וממשקי ה-API הקשורים נמצאים עכשיו במודול החדשandroidx.compose.animation:animation-graphics
. (I60873)
תיקוני באגים
- הועברנו את
InfiniteAnimationPolicy
אל :compose:ui (I5eb09, b/160602714)
גירסה 1.0
גרסה 1.0.5
3 בנובמבר 2021
androidx.compose.animation:animation:1.0.5
ו-androidx.compose.animation:animation-core:1.0.5
משוחררים. גרסה 1.0.5 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תוקנה קריסה במעקב אחר מכונות של derivedStateOf. (aosp/1792247)
גרסה 1.0.4
13 באוקטובר 2021
androidx.compose.animation:animation:1.0.4
ו-androidx.compose.animation:animation-core:1.0.4
משוחררים. גרסה 1.0.4 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
עדכוני יחסי תלות
- העדכון נעשה כך שיהיה תלוי ב-Kotlin
1.5.31
גרסה 1.0.3
29 בספטמבר 2021
androidx.compose.animation:animation:1.0.3
ו-androidx.compose.animation:animation-core:1.0.3
משוחררים. גרסה 1.0.3 מכילה את ההוספות האלה.
עדכוני יחסי תלות
- העדכון נעשה כך שיהיה תלוי ב-Kotlin
1.5.30
גרסה 1.0.2
1 בספטמבר 2021
androidx.compose.animation:animation:1.0.2
ו-androidx.compose.animation:animation-core:1.0.2
משוחררים. גרסה 1.0.2 כוללת את השמירות האלה.
עודכן כדי לתמוך במהדורה 1.0.2
של Compose. Compose 1.0.2
עדיין תואם ל-Kotlin 1.5.21
.
גרסה 1.0.1
4 באוגוסט 2021
androidx.compose.animation:animation:1.0.1
ו-androidx.compose.animation:animation-core:1.0.1
משוחררים. גרסה 1.0.1 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
עדכוני יחסי תלות
- העדכון נעשה כך שיהיה תלוי ב-Kotlin
1.5.21
.
גרסה 1.0.0
28 ביולי 2021
androidx.compose.animation:animation:1.0.0
ו-androidx.compose.animation:animation-core:1.0.0
משוחררים. גרסה 1.0.0 כוללת את ההצהרות האלה.
תכונות עיקריות בגרסה 1.0.0
זוהי הגרסה היציבה הראשונה של Compose. פרטים נוספים זמינים בבלוג הרשמי של Compose Release.
בעיות מוכרות
אם אתם משתמשים ב-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.animation:animation:1.0.0-rc02
ו-androidx.compose.animation:animation-core:1.0.0-rc02
משוחררים. גרסה 1.0.0-rc02 כוללת את ההצהרות האלה.
גרסה 1.0.0-rc01
1 ביולי 2021
androidx.compose.animation:animation:1.0.0-rc01
ו-androidx.compose.animation:animation-core:1.0.0-rc01
משוחררים. גרסה 1.0.0-rc01 כוללת את השמירות האלה.
תיקוני באגים
- הועבר
InfiniteAnimationPolicy
אלandroidx.compose.ui:ui
(I5eb09, b/160602714)
גרסה 1.0.0-beta09
16 ביוני 2021
androidx.compose.animation:animation:1.0.0-beta09
ו-androidx.compose.animation:animation-core:1.0.0-beta09
משוחררים. גרסה 1.0.0-beta09 מכילה את ההתחייבויות האלה.
שינויים ב-API
AnimatedContent
חדש קומפוזבילי. המערכת מנהלת את השינוי בתוכן באמצעותContentTransform
שניתן להתאמה אישית, כאשר תוכן יעד חדש מתווסף והתוכן הראשוני יוצא. אפשר להשתמש בשילובים שונים של מעברים לכניסה וליציאה כדי ליצור מראה וסגנון מותאמים אישית. כחלק מהטרנספורמציה של התוכן,AnimatedContent
מפעיל באופן אוטומטי אנימציה של הגודל שלו כדי להתאים לתוכן הנכנס. (I2c3df)- בוצעה הסרה של
ManualFrameClock
. אם אתם צריכים לשלוט באנימציות, השתמשו ב-composeTestRule.mainClock
במקום זאת. (I3c3e8, b/189951065)
נוספו כללי פרופיל
בגרסה הזו נוספו כללי פרופיל למודול ה-Compose הבאים (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
או בתיקייה המקבילה. בקובץ מצוין כלל לכל שורה, כאשר כלל במקרה הזה הוא דפוס להתאמה לשיטות או לכיתות בספרייה. התחביר של הכללים האלה הוא קבוצת-על של פורמט הפרופיל של ART שקריא לבני אדם, שבו נעשה שימוש כשמשתמשים ב-adb shell profman --dump-classes-and-methods ...
. הכללים האלה יכולים להיות באחת משתי צורות כדי לטרגט שיטות או כיתות.כלל method יהיה בעל התבנית הבאה:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
וכלל כיתה יהיה בעל התבנית הבאה:
<CLASS_DESCRIPTOR>
כאן,
<FLAGS>
הוא אחד או יותר מהתוויםH
, S
ו-P
, שמציינים אם צריך לסמן את השיטה הזו בתווית 'חמה', 'הפעלה' או 'לאחר ההפעלה'.השדה
<CLASS_DESCRIPTOR>
הוא התיאור של המחלקה שאליה שייך ה-method המטורגט. לדוגמה, למחלקהandroidx.compose.runtime.SlotTable
יהיה מתאר שלLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
הוא החתימה של השיטה, והוא כולל את השם, סוגי הפרמטרים וסוג המידע המוחזר של השיטה. לדוגמה, לשיטהfun isPlaced(): Boolean
ב-LayoutNode
יש את החתימהisPlaced()Z
.התבניות האלה יכולות לכלול תווים כלליים (
**
,*
ו-?
) כדי שכלל אחד יכלול כמה שיטות או כיתות.
מה המטרה של הכללים?
שיטה עם הדגל
H
מציינת שזו שיטה 'חמה', וצריך לקמפל אותה מראש.שיטה עם הדגל
S
מציינת שזו שיטה שנקראת בזמן ההפעלה, וצריכה להיות מתורגמת מראש כדי למנוע את העלות של הידור והפרשנות של השיטה בזמן ההפעלה.שיטה עם הדגל
P
מציינת שזו שיטה שנקראת אחרי ההפעלה.כיתה שמופיעה בקובץ הזה מציינת שהיא נמצאת בשימוש במהלך ההפעלה, וצריכה להיות מוקצית מראש בערימה כדי למנוע את העלות של טעינת הכיתה.
איך זה עובד?
- בספריות אפשר להגדיר את הכללים האלה, שיארזו בארטיפקטים של AAR. כשמפתחים אפליקציה שכוללת את הארטיפקטים האלה, הכללים האלה מתמזגים יחד והכללים הממוזגים משמשים ליצירת פרופיל ART בינארי קומפקטי שספציפי לאפליקציה. לאחר מכן, כשהאפליקציה מותקנת במכשירים, מערכת ART יכולה להשתמש בפרופיל הזה כדי לקמפל מראש קבוצת משנה ספציפית של האפליקציה, כדי לשפר את הביצועים של האפליקציה, במיוחד בהפעלה הראשונה. לתשומת ליבכם: לא תהיה לכך השפעה על אפליקציות שניתן לנפות באגים בהן.
גרסה 1.0.0-beta08
2 ביוני 2021
androidx.compose.animation:animation:1.0.0-beta08
ו-androidx.compose.animation:animation-core:1.0.0-beta08
משוחררים. גרסה 1.0.0-beta08 כוללת את ההצהרות האלה.
תיקוני באגים
- עכשיו
detectDragGesures
,detectVerticalGestures
ו-detectHorizontalGestures
יעבדו את שינוי המיקום באופן אוטומטי, ללא צורך לקרוא ל-change.consumePositionChange בקריאות החזרה (callbacks) של onDrag (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()
השתנה כדי לדווח על הקואורדינטות של המשתנה הזה בשרשרת המשתנים, ולא על קואורדינטות הפריסה אחרי החלת כל המשתנים. המשמעות היא שהסדר של המשתנים המשתנים משפיע עכשיו על הקואורדינטות שידווחו. (Ieb67d, b/177926591)
גרסה 1.0.0-beta07
18 במאי 2021
androidx.compose.animation:animation:1.0.0-beta07
ו-androidx.compose.animation:animation-core:1.0.0-beta07
משוחררים. גרסה 1.0.0-beta07 מכילה את ההוספות האלה.
שינויים ב-API
- ממשק API חדש של
AnimatedVisibility
שתומך באפשרות לציין את רמת החשיפה ב-MutableTransitionState
. כך אפשר גם לצפות במצבי האנימציה מחוץ ל-AnimatedVisibility
דרךcurrentState
ו-isIdle
.- תמיכה חדשה במעברים של חשבונות ילדים ב-Transition
- תמיכה באנימציית מעבר מותאמת אישית לכניסה/יציאה ב-AnimatedVisibility באמצעות AnimationScope.transition
- משתנה חדש מסוג animateEnterExit שזמין לכל הצאצאים של AnimatedVisibility
- הוצאנו משימוש את ממשקי ה-API של AnimatedVisibility שמקבלים פרמטר
initiallyVisible
(I702f3)
גרסה 1.0.0-beta06
5 במאי 2021
androidx.compose.animation:animation:1.0.0-beta06
ו-androidx.compose.animation:animation-core:1.0.0-beta06
משוחררים. גרסה 1.0.0-beta06 כוללת את ההתחייבויות האלה.
גרסה 1.0.0-beta05
21 באפריל 2021
androidx.compose.animation:animation:1.0.0-beta05
ו-androidx.compose.animation:animation-core:1.0.0-beta05
משוחררים. גרסה 1.0.0-beta05 כוללת את ההתחייבויות האלה.
תיקוני באגים
- קובצי AndroidManifest מ-ui-test-manifest ומ-ui-tooling-data תואמים עכשיו ל-Android 12 (I6f9de, b/184718994)
גרסה 1.0.0-beta04
7 באפריל 2021
androidx.compose.animation:animation:1.0.0-beta04
ו-androidx.compose.animation:animation-core:1.0.0-beta04
משוחררים. גרסה 1.0.0-beta04 מכילה את ההצהרות האלה על ביצוע שינויים.
שינויים ב-API
- מכונות ציבוריות של
RowScope
,ColumnScope
,BoxScope
ו-BoxWithConstraintsScope
הוסרו. (I4e83e, b/181869067)
גרסה 1.0.0-beta03
24 במרץ 2021
androidx.compose.animation:animation:1.0.0-beta03
ו-androidx.compose.animation:animation-core:1.0.0-beta03
משוחררים. גרסה 1.0.0-beta03 מכילה את ההצהרות האלה.
גרסה 1.0.0-beta02
10 במרץ 2021
androidx.compose.animation:animation:1.0.0-beta02
ו-androidx.compose.animation:animation-core:1.0.0-beta02
משוחררים. גרסה 1.0.0-beta02 מכילה את ההצהרות האלה.
תיקוני באגים
- אכיפה של הגבלות על שימוש ציבורי בממשקי API ניסיוניים (I6aa29, b/174531520)
גרסה 1.0.0-beta01
24 בפברואר 2021
androidx.compose.animation:animation:1.0.0-beta01
ו-androidx.compose.animation:animation-core:1.0.0-beta01
משוחררים. גרסה 1.0.0-beta01 כוללת את ההצהרות האלה.
זוהי הגרסה הראשונה של Compose 1.0.0 Beta.
שינויים ב-API
- הערך
InteractionState
הוחלף ב-[Mutable]InteractionSource
- ממשקים אחראים להפעלה או לאיסוף של אירועי אינטראקציה.
- במקום להעביר את
interactionState = remember { InteractionState() }
לרכיבים כמוButton
ו-Modifier.clickable()
, משתמשים ב-interactionSource = remember { MutableInteractionSource() }
. - במקום:
Interaction.Pressed in interactionState
צריך להשתמש בפונקציות התוסף ב-InteractionSource, כמו InteractionSource.collectIsPressedAsState(). - בתרחישי שימוש מורכבים, אפשר להשתמש ב-InteractionSource.interactions כדי לצפות בזרם של האינטראקציות. מידע נוסף זמין במסמכי התיעוד ובדוגמאות של InteractionSource.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- החבילות של השיטות smoothScrollBy ו-scrollBy השתנו ל-
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473) - השם של מגברי הגודל השתנה. השמות של Modifier.width/height/size שונו ל-requiredWidth/requiredHeight/requiredSize. השמות של Modifier.preferredWidth/Modifier.preferredHeight/Modifier.preferredSize שונו ל-width/height/size. (I5b414)
- ההגדרה 'כיוון' הועברה לחבילת הבסיס. VelocityTracker הועבר מ-ui.gesture אל ui.input.pointer. (Iff4a8, b/175294473)
- ה-AnimationClockObservable והתת-כיתות שלו הוסרו. AnimatedFloat הוסר. (Icde52, b/177457083)
- Modifier.draggable מקבל עכשיו DraggableState במקום פונקציית lambda פשוטה. אפשר ליצור מצב באמצעות
rememberDraggableState { delta -> }
כדי לקבל את אותו התנהגות כמו קודם (Ica70f, b/175294473) - ממשקי ה-API של animate, animatedValue ו-AnimatedValue הוסרו (If27bc, b/177457083)
- השדה AnimationEndReason.Interrupted מוסר. אם האנימציה מופסקת, תוצג הודעה מסוג CancellationException. (I2cbbc, b/179695417)
- ממשק ה-API TargetAnimation הוסר. (If47d1, b/177457083)
גרסה 1.0.0-alpha12
10 בפברואר 2021
androidx.compose.animation:animation:1.0.0-alpha12
ו-androidx.compose.animation:animation-core:1.0.0-alpha12
משוחררים. גרסה 1.0.0-alpha12 מכילה את ההוספות האלה.
שינויים ב-API
- עכשיו צריך להשתמש במפתחות לזיכרון ב-
Modifier.pointerInput
כדי לציין מתי צריך להפעיל מחדש את פונקציית ה-coroutine לזיהוי קלט של סמן עבור יחסי תלות חדשים. (I849cd) - השם של Bounds השתנה ל-DpRect (I4b32a)
- שינוי השם של הפרמטר AnimationSpec ל-animationSpec במערכת האנימציה. צריך גם להגביל את Enter/ExitTransition לקבלת FiniteAnimationSpec. (Ie47c5, b/177457083)
- הפונקציות Animatable.snapTo ו-Animatable.stop הן עכשיו פונקציות השהיה (If4288)
- בדומה להסרה הקודמת של
state { 0 }
composable ועידוד השימוש ב-remember { mutableStateOf(0) }
, אנחנו עומדים להסיר אתsavedInstanceState { 0 }
composable. במקום זאת, צריך להשתמש ב-rememberSaveable { mutableStateOf(0) }
, והוא ישמור וישחזר באופן אוטומטי אם אפשר לאחסן את הסוג שנעשה בו שימוש ב-MutableState בחבילה. אם בעבר העברתם אובייקט שומר מותאם אישית, עכשיו צריך להשתמש בעומס יתר חדש של rememberSaveable עם הפרמטרstateSaver
. השימוש ייראה כך:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - חתימה של שיטת Crossfade עודכנה כדי שתהיה עקבית יותר עם שאר מערכת ההנפשה. (Ib05ed, b/177457083)
- השם של rememberSavedInstanceState() השתנה ל-rememberSaveable() והוא הועבר לחבילה androidx.compose.runtime.saveable. (I1366e, b/177338004)
- השם של RestorableStateHolder השתנה ל-SaveableStateHolder והוא הועבר לחבילה androidx.compose.runtime.saveable. השם של השיטה הפנימית RestorableStateProvider השתנה ל-SaveableStateProvider. הסוג הגנרי הוסר, כך שאפשר פשוט להעביר Any כמפתח. אין יותר צורך בהערות ניסיוניות. (I0902e, b/174598702)
- עדכנו את ה-API של Modifier.animateContentSize כך שיהיה עקבי עם שאר מערכת ההנפשה. (I0bf75, b/177457083)
- הוצאנו משימוש את AnimatedValue/Float. במקום זאת, צריך להשתמש ב-Animatable. (I71345, b/177457083)
- ה-API tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter ו-pressIndicaitonGestureFilter הוצא משימוש. במקום זאת, צריך להשתמש ב-Modifier.clickable או ב-Modifier.pointerInput עם הפונקציה detectTapGestures. (I6baf9, b/175294473)
- הוספנו את רכיב ההקשר של קורוטין
InfiniteAnimationPolicy
, שייושם באנימציות אינסופיות. כברירת מחדל, לא מותקנת מדיניות, אלא אם מריצים בדיקות באמצעותComposeTestRule
. (I50ec4, b/151940543) - שיטות Destructuring ו-copy() הוסרו מכמה כיתות שבהן הן שימשו לעיתים רחוקות. (I26702, b/178659281)
- זמן ההפעלה באנימציה לא מוגבל יותר לננו-שניות (If776a)
- פריט המידע (artifact) compose:runtime-dispatch הוצא משימוש. MonotonicFrameClock נמצא עכשיו ב-compose:runtime ו-AndroidUiDispatcher נמצא ב-compose:ui. (Ib5c36)
- הוספנו את הערכים
Animation.isInfinite
ו-VectorizedAnimationSpec.isInfinite
שמציינים אם אנימציה היא אינסופית או לא. אפשר להשתמש בזה בהטמעות של אנימציות כדי לטפל באנימציות כאלה באופן מיוחד. לדוגמה, אפשר להציג הודעה מיוחדת עם 'הזמן שנותר', או לבטל את האנימציה במהלך בדיקות כדי למנוע המתנה לזמן לא מוגבל עד שהמכשיר יהיה במצב חוסר פעילות. (Iebb05, b/151940543) - שימוש ב'ארוך' במקום ב'זמן פעולה תקינה' כסוג הזמן של האנימציה (Ie3aa7, b/177420019)
גרסה 1.0.0-alpha11
28 בינואר 2021
androidx.compose.animation:animation:1.0.0-alpha11
ו-androidx.compose.animation:animation-core:1.0.0-alpha11
משוחררים. גרסה 1.0.0-alpha11 מכילה את ההצהרות האלה.
שינויים ב-API
- המעבר שמבוסס על TransitionDefinition הוצא משימוש (I0ac57)
- נוסף שדה תווית כדי שאפשר יהיה להציג את האנימציות של המעבר והאנימציות המשניות בכלים (I619fb)
- הפונקציה animateAsState נקראת עכשיו animateFooAsState, כאשר Foo הוא הסוג של המשתנה שמתבצעת לו אנימציה. לדוגמה: Float, Dp, Offset וכו' (Ie7e25)
- פונקציית InfiniteTransition חדשה שמפעילה מספר בלתי מוגבל של אנימציות צאצא. (I1da81)
- שינוי ממשקי הפרמטרים של Material עם מצב (stateful) כך שיכללו פונקציות @Composable שמחזירות את הערך
State<T>
. נוספה הפונקציה Animatable.asState() כדי שיהיה קל יותר להמיר אובייקט Animatable ל-State. בנוסף, הקוד משנה את animateElevation לתוסף השהיה ב-Animatable. (If613c)
תיקוני באגים
- הפונקציות onCommit, onDispose ו-onActive הוצאו משימוש לטובת ממשקי ה-API SideEffect ו-DisposableEffect (If760e)
- יש עכשיו תמיכה במצב התחלתי ב-updateTransition (Ifd51d)
- הפרמטר 'תיאור התוכן' נוסף לתמונה ולסמל. הוא משמש לספק תיאור לשירותי הנגישות (I2ac4c)
- הפונקציות invalidate ו-compositionReference() הוצאו משימוש, והן הוחלפו בפונקציות currentRecomposeScope ו-rememberCompositionReference, בהתאמה. (I583a8)
- משך הזמן וזמן הפעולה התקינה יוחלפו ב-Long milliseconds, והשלב הזה מסיר את התלות של קלט הסמן בקטגוריות האלה. (Ia33b2, b/175142755, b/177420019)
- אפשר ליצור עכשיו רכיבים שניתנים ללחיצה, להפעלה/השבתה ולבחירה מחוץ ליצירה (I0a130, b/172938345, b/175294473)
- השתנה האפשרות 'החלקה' לממשק פונקציונלי (Ib14e5)
- שיטת ייצור חדשה של
items(count: Int)
להיקף של LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
ו-itemsIndexed(items: List)
הן עכשיו פונקציות תוסף, כך שצריך לייבא אותן באופן ידני כשמשתמשים בהן. עומסי יתר חדשים של תוספים למערכים: items(items: Array) ו-itemsIndexed(Array) (I803fc, b/175562574) - שימוש ב-TestCoroutineDispatcher בבדיקות (I532b6)
- הסרנו את PointerInputData ושינינו את PointerInputChange כדי לתת לו את כל השדות של PointerInputData. הפכנו את PointerInputEvent ו-PointerInputEventData לרכיבים פנימיים כי הם לא משמשים באף ממשק API ציבורי. (Ifff97, b/175142755)
גרסה 1.0.0-alpha10
13 בינואר 2021
androidx.compose.animation:animation:1.0.0-alpha10
ו-androidx.compose.animation:animation-core:1.0.0-alpha10
משוחררים. גרסה 1.0.0-alpha10 מכילה את ההצהרות האלה.
שינויים ב-API
- שינוי המהירות כך שתכלול רכיבים ופעולות מתמטיות. (Ib0447)
- השם של
@ExperimentalTesting
השתנה ל-@ExperimentalTestApi
כדי להתאים להערות דומות של ממשקי API ניסיוניים (Ia4502, b/171464963) - שינינו את השם של Position ל-DpOffset והסרנו את getDistance() (Ib2dfd)
- הוסר ממשק ה-API הציבורי Any.identityHashCode() (I025d7)
תיקוני באגים
- ממשק API חדש מבוסס-קורוטינה
Animatable
שמבטיח שהאנימציות יהיו בלעדיות זו לזו. DecayAnimationSpec חדש לתמיכה באנימציית דהייה בממדים מרובים (I820f2, b/168014930) animate()
הוחלף עכשיו ב-animateAsState()
, שמחזירState<T>
במקוםT
. כך אפשר לשפר את הביצועים, כי היקף ביטול התוקף יכול להצטמצם למקום שבו נקרא ערך המצב. (Ib179e)
גרסה 1.0.0-alpha09
16 בדצמבר 2020
androidx.compose.animation:animation:1.0.0-alpha09
ו-androidx.compose.animation:animation-core:1.0.0-alpha09
משוחררים. גרסה 1.0.0-alpha09 מכילה את ההוספות האלה.
שינויים ב-API
- העברנו את Dp.VectorConverter, Position.VectorConverter וכו' אל animation-core, והוצאנו משימוש את ה-VectorConveters הישנים (If0c4b)
- השקנו קבוצה חדשה של ממשקי API למעברים, עם נוחות שימוש משופרת ותמיכה באנימציות שנוספות באופן דינמי וביעדים של אנימציות שמחושבים באופן דינמי. ממשקי ה-API האלה מסומנים כניסיוניים כדי להבדיל אותם בקלות מ-API שמבוסס על TransitionDefinition. (Ia7fe3)
תיקוני באגים
- פונקציות Lambda במשתני שינוי של אופסט מחזירות עכשיו IntOffset במקום Float. (Ic9ee5, b/174137212, b/174146755)
- הוצאה משימוש של LazyColumnFor, LazyRowFor, LazyColumnForIndexed ו-LazyRowForIndexed. במקום זאת, צריך להשתמש ב-LazyColumn וב-LazyRow (I5b48c)
- בממשקי ה-API להשהיית קלט של סמן, שינינו את השם של HandlePointerInputScope ל-AwaitPointerEventScope ואת handlePointerInput() ל-awaitPointerEventScope(). (Idf0a1, b/175142755)
- פונקציה חדשה מסוג infiniteRepeatable ליצירת InfiniteRepeatableSpec (I668e5)
- הוסר ההערה ExperimentalPointerInput (Ia7a24)
גרסה 1.0.0-alpha08
2 בדצמבר 2020
androidx.compose.animation:animation:1.0.0-alpha08
ו-androidx.compose.animation:animation-core:1.0.0-alpha08
משוחררים. גרסה 1.0.0-alpha08 מכילה את ההצהרות האלה.
שינויים ב-API
- הוספנו בדיקת איתור שגיאות בקוד לשמות ולמיקום של פרמטרים של lambda שניתנים ליצירה, כדי לבדוק את העקביות עם ההנחיות של Compose.
בנוסף, העברנו חלק מממשקי ה-API שמשתמשים ב-
children
בתור השם של פונקציית ה-lambda שבסוף ל-content
, בהתאם לבדיקת האיתור של שגיאות בקוד ולהנחיות. (Iec48e) - ממשקי API שהוצאו משימוש בעבר הוסרו:
Modifier.onPositioned
הוסר, צריך להשתמש ב-Modifier.onGloballyPositioned
.Modifier.onDraw
הוסר, צריך להשתמש ב-Modifier.onDrawBehind
.Modifier.plus
הוסר, צריך להשתמש ב-Modifier.then
.Color.Unset
הוסר, צריך להשתמש ב-Color.Unspecified
.- הכיתה
PxBounds
הוסרה. יש להשתמש ב-Rect
במקום זאת. - (Ie9d02, b/172562222)
- הוספנו באופן זמני אפשרות לאפשר ל-TestAnimationClock לפעול לפי MonotonicFrameClock (I1403b, b/173402197)
תיקוני באגים
- שינינו את השם של Modifier.drawLayer ל-Modifier.graphicsLayer. בנוסף, עדכנו את הכיתות הקשורות ל-GraphicsLayer בהתאם למשוב של ועדת ה-API. (I0bd29, b/173834241)
- הוספנו ממשקי API של Modifier.scale/rotate לצורך נוחות ב-drawLayer.
- שינוי השם של Modifier.drawOpacity ל-Modifier.alpha
- שינוי השם של Modifier.drawShadow ל-Modifier.shadow (I264ca, b/173208140)
- השדות 'זמן פעולה תקינה' ו'מיקום' של PointerInputData לא יכולים להיות ריקים. (Id468a)
- השם של המשתנים offsetPx השתנה ל-offset. עכשיו הם מקבלים פרמטרים של lambda במקום State. (Ic3021, b/173594846)
- ממשקי API חדשים להפעלת אנימציות ב-coroutines (Ied662)
- הוצאנו משימוש את הסביבות של Ambients עם הסיומת
Ambient
והחלפנו אותן בנכסים חדשים עם התחילית Ambient, בהתאם להנחיות אחרות לגבי Ambients ו-Compose API. (I33440) - שליטה בזמן בבדיקות (TestAnimationClock והשימושים שלו) היא עכשיו ניסיונית (I6ef86, b/171378521)
- הסרת המודול הישן של בדיקת ממשק המשתמש והסטאבים שלו (I3a7cb)
- השם של הפונקציה
RestorableStateHolder.withRestorableState
השתנה ל-RestorableStateProvider
(I66640) - ממשק ההתאמה עודכן והפך לפונקציונלי. (I46a07, b/172311734)
גרסה 1.0.0-alpha07
11 בנובמבר 2020
androidx.compose.animation:animation:1.0.0-alpha07
ו-androidx.compose.animation:animation-core:1.0.0-alpha07
משוחררים. גרסה 1.0.0-alpha07 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- הנכסים הבסיסיים AmbientTextStyle, ProvideTextStyle ו-AmbientContentColor הוצאו משימוש. במקום זאת, השתמשו בגרסאות החדשות שזמינות בספריית Material. באפליקציות שאינן של Material, במקום זאת צריך ליצור סביבות נושא ספציפיות למערכת העיצוב שלכם, שאפשר להשתמש בהן ברכיבים שלכם. (I74acc, b/172067770)
- ה-foundation.Text הוצא משימוש והוחלף ב-material.Text. ל-API טקסט בסיסי ללא דעה מוצגת, שלא צורך ערכים מעיצוב, אפשר לעיין ב-androidx.compose.foundation.BasicText. (If64cb)
- MeasureResult הועבר מ-MeasureScope. (Ibf96d, b/171184002)
- כמה סמלים שקשורים לפריסה הועברו מ-androidx.compose.ui אל androidx.compose.layout.ui. (I0fa98, b/170475424)
גרסה 1.0.0-alpha06
28 באוקטובר 2020
androidx.compose.animation:animation:1.0.0-alpha06
ו-androidx.compose.animation:animation-core:1.0.0-alpha06
משוחררים. גרסה 1.0.0-alpha06 מכילה את ההוספות האלה.
שינויים ב-API
- מפעילים את המעברים ב-ComposeTestRule ומסירים את האפשרות להפעיל את הסמן המהבהב מ-ComposeTestRule. (If0de3)
גרסה 1.0.0-alpha05
14 באוקטובר 2020
androidx.compose.animation:animation:1.0.0-alpha05
ו-androidx.compose.animation:animation-core:1.0.0-alpha05
משוחררים. גרסה 1.0.0-alpha05 מכילה את ההוספות האלה.
שינויים ב-API
- ממשק אנימציה ותת-כיתות חדשים: הכיתות האלה מאחסנות את תנאי ההתחלה והסיום של האנימציות, ולכן מאפשרות לשלוח שאילתות לגבי הערך והמהירות רק באמצעות משך הצפייה (Ie95bd, b/163329867)
תיקוני באגים
- השם של OnPositionedModifier השתנה ל-OnGloballyPositionedModifier, והשם של onPositioned() השתנה ל-onGloballyPositioned(). (I587e8, b/169083903)
הוצאה משימוש של ממשקי ה-API contentColor() ו-currentTextStyle(), והחלפתם ב-AmbientContentColor וב-AmbientTextStyle, בהתאמה. כדי לגשת לערך הנוכחי, משתמשים ב-
.current
במאפיין הסביבה, כמו בכל מאפיין סביבה אחר. השינוי הזה בוצע כדי לשמור על עקביות וכדי למנוע מצב שבו יש כמה דרכים להשיג את אותו הדבר. בנוסף, השמות של חלק מהמאפיינים הסביבתיים שונו כדי לתאר טוב יותר את המטרה שלהם:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
גרסה 1.0.0-alpha04
1 באוקטובר 2020
androidx.compose.animation:animation:1.0.0-alpha04
ו-androidx.compose.animation:animation-core:1.0.0-alpha04
משוחררים. גרסה 1.0.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
שינויים ב-API
- הוספת הערה למאפיינים rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled ו-textInputServiceFactory באמצעות @VisibleForTesting, הפיכת המאפיינים ל-API פנימי והסתרת ה-kdoc שלהם (I554eb, b/168308412)
תיקוני באגים
- עדכנו הרבה ממשקי Graphics API
- עדכנו את ממשקי ה-API של טרנספורמציות של שינוי קנה מידה וסיבוב כך שישתמשו בפרמטר Offset יחיד שמייצג את קואורדינטת הציר, במקום בפרמטר float נפרד לכל אחת מקואורדינטות ה-x/y ב-DrawScope וב-DrawTransform.
- הוסר השימוש בשיטות Rect.expandToInclude ו-Rect.join
- עדכנו את המסמכים של Radius כך שיכללו את המונח 'אליפסה' בנוסף למונח 'אליפסואיד'
- נוספה תיעוד כדי לציין שאין להפעיל ישירות את המבנה הציבורי של הכיתה Radius שמוטמעת בקוד, אלא ליצור אובייקטים של Radius באמצעות המבנים של הפונקציות שלהם
- הוסרו ממשקי ה-API של RoundRect לשליחת שאילתות ל-topRight, bottomRight, bottomCenter וכו'.
- הוצאה משימוש של Rect.shift לטובת Rect.translate
- הוסרו ממשקי ה-API RoundRect.grow ו-Rect.shrink
- שינוי השם של RoundRect.outerRect ל-Rect.boundingRect
- הוסרו השיטות RoundRect.middleRect/tallMiddleRect/wideMiddleRect ו-Rect.isStadium
- השם של RoundRect.longestSide השתנה ל-RoundRect.maxDimension
- שינוי השם של RoundRect.shortestSide ל-RoundRect.minDimension
- שינוי RoundRect.center לנכס במקום לפונקציה
- עדכנו את ה-constructor של RoundRect כך שישתמש במאפייני Radius במקום בפרמטרים נפרדים לערכים של רדיוס x/y
- הוסרו ממשקי API של גודל שהניחו שמדובר ב-Rectangle עם מקור ב-0,0
- הוספנו ל-Radius ממשק API להרס עצמי
- העברנו פונקציות שונות של התוסף RoundRect לנכסים במקום זאת
- (I8f5c7, b/168762961)
- ה-foundation.Box הוצא משימוש. במקום זאת, צריך להשתמש ב-foundation.layout.Box. (Ie5950, b/167680279)
- השם של Stack השתנה ל-Box. תיפסק התמיכה ב-Box הקודם, והוא יוחלף ב-Box החדש ב-compose.foundation.layout. ההתנהגות של Box החדש היא להציב את הצאצאים זה על גבי זה כשיש לו כמה צאצאים – בניגוד ל-Box הקודם, שההתנהגות שלו הייתה דומה לזו של Column. (I94893, b/167680279)
- הפרמטרים של עיטור התיבה הוצאו משימוש. אם רוצים להוסיף לקובייה קישוטים או שוליים, צריך להשתמש במקום זאת ב-Modifiers (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
- חסמנו ייבוא סטטי של תוכן של היקפי פריסה (למשל alignWithSiblings ב-RowScope). במקום זאת, צריך להשתמש באפשרות החלופית ברמת ההיקף המפורשת:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
גרסה 1.0.0-alpha03
16 בספטמבר 2020
androidx.compose.animation:animation:1.0.0-alpha03
ו-androidx.compose.animation:animation-core:1.0.0-alpha03
משוחררים. גרסה 1.0.0-alpha03 כוללת את ההצהרות האלה.
תיקוני באגים
- השמות של השימושים ב-gravity שונו באופן עקבי ל-align או ל-alignment בממשקי ה-API של הפריסה. (I2421a, b/164077038)
גרסה 1.0.0-alpha02
2 בספטמבר 2020
androidx.compose.animation:animation:1.0.0-alpha02
ו-androidx.compose.animation:animation-core:1.0.0-alpha02
משוחררים. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.
שינויים ב-API
נוספו הפונקציות
ManualFrameClock.hasAwaiters
כדי לבדוק אם יש משהו שממתין לפריים מהשעון הזה,runWithManualClock
כתחליף ל-runBlocking
כשמריצים בדיקות שצריכות ManualFrameClock, ו-TestUiDispatcher.Main
שמספקת גישה קלה למפזר הראשי של ממשק המשתמש בבדיקות.לדוגמה:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
(I0a85b, b/161247083)
תיקוני באגים
השיטה onPreCommit הוצאה משימוש. השיטה onCommit כוללת עכשיו את ההתנהגות של onPreCommit.
הפונקציות onCommit ו-onActive פועלות עכשיו באותו פריים של מנהל התנועה שבו בוצעו השינויים בהרכב, ולא בתחילת הפריים הבא של מנהל התנועה. (I70403)
גרסה 1.0.0-alpha01
26 באוגוסט 2020
androidx.compose.animation:animation:1.0.0-alpha01
ו-androidx.compose.animation:animation-core:1.0.0-alpha01
משוחררים. גרסה 1.0.0-alpha01 מכילה את ההצהרות האלה.
גרסה 0.1.0-dev
גרסה 0.1.0-dev17
19 באוגוסט 2020
androidx.compose.animation:animation:0.1.0-dev17
ו-androidx.compose.animation:animation-core:0.1.0-dev17
משוחררים. גרסה 0.1.0-dev17 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תכונות חדשות
שינויים ב-API
- ההיסט הפך לכיתה בתוך שורה (Iaec70)
- IntOffset הוא עכשיו סוג בשורה (Iac0bf)
- IntSize היא עכשיו כיתה מוטמעת (I2bf42)
רכיב AnimatedVisibilty מאפשר ליצור אנימציה של הופעה והיעלמות של תוכן הצאצא.
רכיבי EnterTransition ו-ExitTransition נועדו לפעול עם רכיב AnimatedVisibilty כדי לספק 3 סוגים שונים של אנימציות להופעה ולעזיבה: היעלמוּת, החלקה והרחבה/כיווץ של התוכן. אפשר לשלב בין הסוגים השונים של אנימציות כדי ליצור מראה וסגנון ייחודיים. (Idda11)
הוצאה משימוש של PxBounds לטובת Rect. עדכנו את כל השימושים ב-PxBounds באמצעות rect והוספו הערות מתאימות להוצאה משימוש או להחלפה כדי לעזור בהעברה. (I37038, b/162627058)
תיקוני באגים
- השם של
PlacementScope.placeAbsolute()
שונה ל-PlacementScope.place()
, והשם הקודם שלPlacementScope.place()
שונה ל-PlacementScope.placeRelative()
. כתוצאה מכך, השיטהPlacementScope.place()
לא תשקף יותר באופן אוטומטי את המיקום בהקשרים מימין לשמאל. אם רוצים לעשות זאת, צריך להשתמש במקום זאת ב-PlacementScope.placeRelative()
. (I873ac, b/162916675) - ה-composable של
state { ... }
הוצא משימוש, ועכשיו מומלץ להשתמש בקריאות מפורשות ל-remember { mutableStateOf(...) }
כדי לשפר את הבהירות. כך מקטינים את שטח ה-API הכולל ואת מספר המושגים לניהול המצב, והשיטה תואמת לדפוסby mutableStateOf()
להענקת גישה לנכסי הכיתה. (Ia5727)
גרסה 0.1.0-dev16
5 באוגוסט 2020
androidx.compose.animation:animation:0.1.0-dev16
ו-androidx.compose.animation:animation-core:0.1.0-dev16
משוחררים. גרסה 0.1.0-dev16 מכילה את ההצהרות האלה.
שינויים ב-API
- עכשיו אפשר לגשת לממירי וקטורים מובנים כדי להמיר יחידות מובנות באמצעות
Foo.VectorConverter
. לדוגמה:Dp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
וכו' (I3e273) - תמיכה ב-end listener ב-
Modifier.animateContentSize()
כך שכשהאנימציה של שינוי הגודל תסתיים, ה-listener יקבל הודעה, יחד עם גודל ההתחלה/הסיום של האנימציה. (I277b2) - המשתנה החדש animateContentSize מאפשר להציג אנימציה של שינוי גודל הפריסה של המשתנה הצאצא שלו (Ieffdc)
נוספה פונקציית
MonotonicFrameAnimationClock
שמאפשרת להשתמש ב-MonotonicFrameClock בתורAnimationClockObservable
כדי לגשר על הפער בין השעונים החדשים שמבוססים על קורוטינים לבין ממשקי API שעדיין משתמשים בשעונים הישנים שמבוססים על קריאה חוזרת (callback).הערך המקביל של
MonotonicFrameClock
ל-ManualAnimationClock
הוא עכשיוManualFrameClock
. (I111c7, b/161247083)
תיקוני באגים
- ממשקי ה-API לתמיכה בכתיבה מימין לשמאל עודכנו. נוספה התכונה LayoutDirectionAmbient, שאפשר להשתמש בה כדי לקרוא ולשנות את כיוון הפריסה. האפשרויות Modifier.rtl ו-Modifier.ltr הוסרו. (I080b3)
- דרישה לציין את הסוג T באופן מפורש עבור transitionDefinition. (I1aded)
- החבילה foundation.shape.corner עברה שטוח ל-foundation.share (I46491, b/161887429)
- ה-Modifier.plus הוצא משימוש. במקום זאת צריך להשתמש ב-Modifier.then. 'אחר כך' מבטא יותר בבירור את סדר הדברים, ומונע גם להקליד
Modifier.padding().background() + anotherModifier
, שגורם להפסקה בשרשרת וקשה יותר לקרוא אותו (Iedd58, b/161529964) - השם של Modifier.drawBackground השתנה ל-Modifier.background (I13677)
גרסה 0.1.0-dev15
22 ביולי 2020
androidx.compose.animation:animation:0.1.0-dev15
ו-androidx.compose.animation:animation-core:0.1.0-dev15
משוחררים. גרסה 0.1.0-dev15 מכילה את ההצהרות האלה על ביצוע שינויים.
עדכון יחסי התלות
- כדי להשתמש בגרסה
0.1.0-dev15
של Compose, תצטרכו לעדכן את יחסי התלות בהתאם לקטעי הקוד החדשים שמוצגים למעלה בקטע הצהרת יחסי תלות.
שינויים ב-API
- Transition API השתנה כך שיחזיר TransitionState במקום להעביר את TransitionState לצאצאים. כך ה-API תואם יותר לממשקי ה-API של animate(). (I24e38)
- פרמטר של שינוי נוסף עבור Crossfade (I87cfe, b/159706180)
- שימוש ב-AnimationSpec במקום ב-AnimationBuilder בממשקי ה-API ברמה העליונה כדי להבהיר את המושג של מפרט אנימציה סטטית
- שיפור של DSL המעבר על ידי הסרת הדרישה ל-lambda ליצירת AnimationSpecs כמו tween, spring. במקום זאת, הם מקבלים את הפרמטרים של ה-constructor ישירות.
- שיפור הנוחות הכוללת של AnimationSpec, ופתיחת המאפיינים של ה-constructor במקום להסתמך על ה-builders
- משנים את משך הזמן והעיכוב של KeyFrames ו-Tween ל-Int. כך מבטלים המרות מיותרות של סוגים (type casts) ועומס יתר על שיטות (overloading) (כדי לתמוך גם ב-Long וגם ב-Int). (Ica0b4)
- החלפת השימוש ב-IntPx ב-Int. החלפת IntPxPosition ב-IntOffset. הוחלף IntPxSize ב-IntSize. (Ib7b44)
- כדי לצמצם את מספר הכיתות שבהן נעשה שימוש לייצוג נתוני גודל, כדאי להשתמש בכיתה Size במקום בכיתה PxSize. כך אפשר ליהנות מהיתרונות של שימוש ב-inline class כדי לארוז 2 ערכים מסוג float שמייצגים את הרוחב והגובה כערכים מסוג float. (Ic0191)
- כדי לצמצם את מספר הכיתות שבהן נעשה שימוש כדי לייצג את פרטי המיקום, מומלץ להשתמש בכיתה Offset במקום בכיתה PxPosition. כך אפשר ליהנות מהיתרונות של שימוש בכיתה מוטמעת כדי לארוז 2 ערכים מסוג float, שמייצגים את הזזות ה-x וה-y, כערכים מסוג float. (I3ad98)
- החלפת השימוש בכיתה Px בכיתות שונות של compose, כחלק מהמאמץ הגדול של שינוי מבנה הקוד, כדי להסתמך רק על Dp ועל סוגי נתונים פרימיטיביים עבור פרמטרים של פיקסלים (I086f4)
- נוספה תמיכה ב-animate() עבור Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds ו-AnimationVector (Ib7518)
- עכשיו אפשר להשתמש בפרמטר אופציונלי של AnimationBuilder כדי להגדיר את האנימציה של העמעום ההדרגתי (I6d6e0)
- החלפת כל השימושים ב-Color ב-API עם nullable ב-non-nullable, והשימוש ב-Color.Unset במקום null (Iabaa7)
- הכיתה ValueHolder הוסרה. שינוי המבנה של הכיתות AnimatedValue ו-AnimatedFloat כדי להפוך את השדה של ערך האנימציה למופשט, כך שסיווגים משנה יוכלו לעקוב אחרי עדכון הערך.
- נוספו סוגים של מודלים ל-AnimatedValue, AnimatedFloat וכו'.
- הוספנו קבוצה חדשה של ממשקי API קלים ל-@Composable ליצירת אנימציה בין ערכים. (I79530)
- שינויים משמעותיים ב-ambients API. פרטים נוספים זמינים ביומן ובמסמכי התיעוד של
Ambient<T>
(I4c7ee, b/143769776) - מצב חזרה חדש: הפוך. במצב הזה, האיטרציה הקודמת מתהפכת כשהאנימציה חוזרת על עצמה ב-RepeatableSpec או ב-VectorizedRepeatableSpec. (Ibe0f5)
- תוספות ל-API של ManualAnimationClock:
hasObservers: Boolean
ופרמטר ה-constructordispatchOnSubscribe: Boolean
(Iaa134) - הוספנו ממשקי API לקבלת גבולות מינימום/מקסימום ב-AnimatedFloat (Icd9cc)
תיקוני באגים
- השם של
runOnIdleCompose
השתנה ל-runOnIdle
(I83607) - השמות של כמה ממשקי API לבדיקות השתנו כדי להפוך אותם לאינטואיטיביים יותר. השם של כל ממשקי ה-API מסוג findXYZ השתנה ל-onNodeXYZ. השם של כל ממשקי ה-API מסוג doXYZ השתנה ל-performXYZ. (I7f164)
- השקנו ממשקי API ללא מצב (stateless) ליצירת אנימציות ברמה נמוכה. ממשקי ה-API האלה (I63bf7)
- הרכיב הניתן ליצירה מחדש כבר לא מייצג הפשטה שימושית. רוב הרכיבים החדשים אמורים להיווצר כתוצאה מהקצאות של MutableState. בכל מקרה אחר, מומלץ להשתמש בפונקציה
invalidate
כדי להפעיל יצירת קומפוזיציה מחדש של ההיקף הנוכחי. (Ifc992) - החלפת השימוש במחלקת Px בכיתות שונות של compose, כחלק מהמאמץ הגדול של עיבוד מחדש, כדי להסתמך רק על Dp ועל סוגי נתונים פרימיטיביים עבור פרמטרים של פיקסלים. מחקת את הכיתה Px במלואה (I3ff33)
- החלפת השימוש בכיתה Px בכיתות שונות של compose, כחלק מהמאמץ הגדול של עיבוד מחדש (refactoring) כדי להסתמך רק על Dp ועל סוגים פרימיטיביים לפרמטרים של פיקסלים (Id3434)
- עכשיו אפשר להשתמש ב-Crossfade עם null כערך ראשוני (Iad6a4, b/155947711)
- החלפת השימוש בכיתה Px בכיתות שונות של compose, כחלק מהמאמץ הגדול של שינוי מבנה הקוד, כדי להסתמך רק על Dp ועל סוגי נתונים פרימיטיביים לפרמטר של פיקסלים (I19d02)
- איחוד הטמעות של CanvasScope, כך שיש עכשיו רק DrawScope ו-ContentDrawScope. CanvasScope עבר שם חדש: DrawScope. עדכנו את DrawScope כך שיטמיע את ממשק Density ויספק את LayoutDirection. מחקו את תת-הסוג של DrawScope ב-ContentDrawScope. עדכנו את Painter ו-PainterModifier כך שלא יכללו יותר מאפיין RTL בעצמם, כי DrawScope כבר מספק את זה בלי לספק אותו באופן ידני (I1798e)
- עדכנו את ממשקי ה-API ברמה גבוהה יותר שמציגים את Canvas, כך שהם מציגים במקום זאת את CanvasScope. כך הצרכנים לא צריכים לתחזק אובייקטים משלהם ב-Paint. לצרכנים שעדיין זקוקים לגישה ל-Canvas, אפשר להשתמש בשיטת התוסף drawCanvas, שמספקת קריאה חוזרת (callback) להנפקת פקודות ציור ב-Canvas הבסיסי. (I80afd)
- נוספו הפרמטרים verticalGravity ו-horizontalGravity ל-Row ול-Column, בהתאמה. (I7dc5a)
- שם המודול ui-text השתנה ל-ui-text-core (I57dec)
- שיפור DrawModifier API:
- שינוי ההיקף של המקבל של draw() ל-ContentDrawScope
- הסרת כל הפרמטרים ב-draw()
- לממשק של DrawScope יש את אותן תכונות כמו לממשק הקודם של CanvasScope
- ל-ContentDrawScope יש את השיטה drawContent() (Ibaced, b/152919067)
runOnIdleCompose
ו-runOnUiThread
הן עכשיו פונקציות גלובליות במקום שיטות ב-ComposeTestRule. (Icbe8f)- אופרטורים של הענקת גישה למאפייני מצב [לשינוי]הועברו לתוספים כדי לתמוך באופטימיזציות של הענקת גישה למאפיינים ב-Kotlin 1.4. כדי להמשיך להשתמש ב-
by state { ... }
או ב-by mutableStateOf(...)
, מבצעי הקריאה החוזרת צריכים להוסיף ייבוא. (I5312c) - ה-ColoredRect הוצא משימוש. במקום זאת, אתם צריכים להשתמש ב-
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - החלפת האופרטור 'פלוס' של המשתנה המשנה בפונקציות הרחבה של היצרן (I225e4)
- רכיב 'מרכז' שהוצא משימוש. צריך להחליף אותו במשתנה LayoutSize.Fill + LayoutAlign.Center או באחד מהרכיבים הקומפוזיציוניים Box או Stack עם משתנים מתאימים (Idf5e0)
- השם של LayoutFlexible שונה ל-LayoutWeight. שינוי השם של הפרמטר tight ל-fill. (If4738)
- הפונקציה Opacity הוחלפה במשתנה drawOpacity. (I5fb62)
- בבדיקות שמשתמשות ב-AndroidComposeTestRule יש עכשיו שעון אנימציה ברמה הבסיסית של הקומפוזיציה, שמאפשר להשהות, להמשיך ולהריץ אותו באופן ידני. (Id54c5)
- תמיכה בכיוון מימין לשמאל במשתנה LayoutPadding (I9e8da)
- Density ו-DensityScope מוזגו לממשק אחד. במקום ambientDensity() אפשר להשתמש עכשיו ב-DensityAmbient.current. במקום withDensity(density), פשוט with(density) (I11cb1)
- הוספנו שיטות להעתקה לסוגים שונים של שיעורים בקוד, כולל:
- היסט
- גודל
- רדיוס
- תנועה
- TransformOrigin
- השיטה של אובייקט התלווה Size.copy הוצאה משימוש, ובמקומה מומלץ להשתמש בשיטת ההעתקה של המכונה (Ife290, b/159905651)
- 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)