אנימציה ב-Compose

פיתוח אנימציות באפליקציות שלהם ב-Jetpack 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).

תיקוני באגים

גרסה 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

  • תווית הכלי נתמכת ב-rememberInfiniteTransition ובכל פונקציות ההרחבה ב-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 כך שיהיה תלוי ב-Kotlin 1.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 ו-AGP 7.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 ופרמטר ה-constructor‏ dispatchOnSubscribe: 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)