אנימציה ב-Compose

ליצור אנימציות באפליקציות Jetpack Compose כדי לשפר את חוויית המשתמש.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫19 בנובמבר 2025 1.9.5 ‎1.10.0-rc01 - -

מבנה

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

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

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

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

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

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

Groovy

dependencies {
    implementation "androidx.compose.animation:animation:1.9.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.9.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

משוב

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

יצירת בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא הכלי למעקב אחר בעיות.

גרסה 1.10

גרסה ‎1.10.0-rc01

‫19 בנובמבר 2025

androidx.compose.animation:animation-*:1.10.0-rc01 משוחרר. גרסה ‎1.10.0-rc01 מכילה את הקומטים האלה.

שינויים ב-API

  • אפשרויות unveilIn ו-veilOut זמינות עכשיו ב-EnterExitTransitions. כך אפשר להוסיף אנימציה לשכבת על שמוצגת לפני התוכן שנכנס או יוצא. ‫(If26fe)

תיקוני באגים

  • תמיכה במעקב אחר גבולות באמצעות ניתוק וחיבור מחדש של sharedElement (be0e9e)
  • הגדרת מפה של רכיבים משותפים שניתן לצפות בה כדי לעקוב אחרי פעילות המעבר. (1fc2ec)

גרסה ‎1.10.0-beta02

‫5 בנובמבר 2025

androidx.compose.animation:animation-*:1.10.0-beta02 משוחרר. גרסה 1.10.0-beta02 מכילה את הקומטים האלה.

גרסה ‎1.10.0-beta01

‫22 באוקטובר 2025

androidx.compose.animation:animation-*:1.10.0-beta01 משוחרר. גרסה 1.10.0-beta01 מכילה את הקומטים האלה.

שינויים ב-API

  • הוסרה שיטת היצירה SharedContentConfig שמקבלת ביטוי למדה שמציין אם צריך להפעיל את הרכיב המשותף. ‫lookheadScopeCoordinates API עודכן עם LookaheadScope כהיקף הנמען, והקואורדינטות של המקור הן הפרמטר. (Id1fc2, b/452416806)
  • הממשק של BoundsTransform עודכן כדי שיהיה עקבי עם SizeTransform. ‫(Ia46f2, ‏ b/343696350)
  • ממשק ה-API ‏ScaleToBounds שהוצא משימוש הוסר. במקומה צריך להשתמש במדיניות scaleToBounds. (I17296)

גרסה ‎1.10.0-alpha05

‫8 באוקטובר 2025

androidx.compose.animation:animation-*:1.10.0-alpha05 משוחרר. גרסה ‎1.10.0-alpha05 מכילה את הקומטים האלה.

שינויים ב-API

גרסה ‎1.10.0-alpha04

‫24 בספטמבר 2025

androidx.compose.animation:animation-*:1.10.0-alpha04 משוחרר. גרסה ‎1.10.0-alpha04 מכילה את הקומטים האלה.

שינויים ב-API

  • עדכנו את השמות של ממשקי ה-API שקשורים ל-PlaceHolderSize. (I037d8, b/343696350)
  • ‫API חדש למעבר בין רכיבים משותפים, לתמיכה במהירות התחלתית כדי להמשיך את מהירות התנועה במחוות ברכיבים משותפים. (I91be9)

גרסה ‎1.10.0-alpha03

‫10 בספטמבר 2025

androidx.compose.animation:animation-*:1.10.0-alpha03 משוחרר. גרסה ‎1.10.0-alpha03 מכילה את הקומטים האלה.

שינויים ב-API

  • Modifier.skipToLookaheadSize משתמש עכשיו ב-lambda מופעל כברירת מחדל, שמאפשרת דילוג על גודל רק כשמתבצע מעבר משותף, כמו ב-Modifier.skipToLookaheadPosition. (Ibe0f5, ‏ b/432485585)

גרסה ‎1.10.0-alpha02

‫27 באוגוסט 2025

androidx.compose.animation:animation-*:1.10.0-alpha02 משוחרר. גרסה ‎1.10.0-alpha02 מכילה את הקומטים האלה.

גרסה ‎1.10.0-alpha01

‫13 באוגוסט 2025

androidx.compose.animation:animation-*:1.10.0-alpha01 משוחרר. גרסה ‎1.10.0-alpha01 מכילה את הקומטים האלה.

תכונות חדשות

  • ‫API חדש שמאפשר להפעיל ולהשבית באופן דינמי רכיבים משותפים, וגם מאפשר לקחת בחשבון אם כבר מתבצע מעבר של רכיב משותף.
  • ‫API חדש להגדרת גבולות יעד חלופיים כשאלמנט היעד המשותף מושמד במהלך המעבר.
  • ‫API חדש לקבלת LayoutCoordinates של LookaheadScope. (I18dd4, ‏ b/409819304, ‏ b/395670637)
  • המשנה החדש Modifier.skipToLookaheadPosition ב-SharedTransitionScope למיקום פריסה במיקום היעד במהלך מעבר משותף. (I88734)

שינויים ב-API

  • פשוט יותר renderInSharedTransitionOverlay כי הסרנו את lambda clipInOverlayDuringTransition, שהשימוש בה היה נדיר. הוספנו שיטת factory חדשה ל-SharedContentConfig. (Id01b2)
  • נוספה קבוצה של הגדרות ברירת מחדל לרכיב משותף, לגבולות משותפים ולהגדרות renderInSharedTransitionOverlay. אפשר עכשיו לגשת לברירות המחדל האלה דרך ממשקי API ציבוריים. (Id23cc)
  • השם של ResizeMode שונה ל-scaleToBounds (I5ac50)ScaleToBounds

תיקוני באגים

גרסה 1.9

גרסה 1.9.5

‫19 בנובמבר 2025

androidx.compose.animation:animation-*:1.9.5 משוחרר. גרסה 1.9.5 מכילה את הקומטים האלה.

גרסה 1.9.4

‫22 באוקטובר 2025

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

גרסה 1.9.3

‫8 באוקטובר 2025

androidx.compose.animation:animation-*:1.9.3 משוחרר. גרסה 1.9.3 מכילה את הקומטים האלה.

גרסה 1.9.2

‫24 בספטמבר 2025

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

גרסה 1.9.1

‫10 בספטמבר 2025

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

תיקוני באגים

  • תיקון האנימציה בהפעלה של sharedElementWithCallerManagedVisibility. (fa29de)

גרסה 1.9.0

‫13 באוגוסט 2025

androidx.compose.animation:animation-*:1.9.0 משוחרר. גרסה 1.9.0 מכילה את הקומטים האלה.

גרסה 1.9.0-rc01

‫30 ביולי 2025

androidx.compose.animation:animation-*:1.9.0-rc01 משוחרר. גרסה 1.9.0-rc01 מכילה את הקומטים האלה.

גרסה 1.9.0-beta03

‫16 ביולי 2025

androidx.compose.animation:animation-*:1.9.0-beta03 משוחרר. גרסה 1.9.0-beta03 מכילה את הקומטים האלה.

גרסה ‎1.9.0-beta02

‫2 ביולי 2025

androidx.compose.animation:animation-*:1.9.0-beta02 משוחרר. גרסה 1.9.0-beta02 מכילה את הקומטים האלה.

גרסה 1.9.0-beta01

‫18 ביוני 2025

androidx.compose.animation:animation-*:1.9.0-beta01 משוחרר. גרסה 1.9.0-beta01 מכילה את הקומטים האלה.

גרסה ‎1.9.0-alpha04

‫4 ביוני 2025

androidx.compose.animation:animation-*:1.9.0-alpha04 משוחרר. גרסה ‎1.9.0-alpha04 מכילה את הקומטים האלה.

גרסה ‎1.9.0-alpha03

‫20 במאי 2025

androidx.compose.animation:animation-*:1.9.0-alpha03 משוחרר. גרסה ‎1.9.0-alpha03 מכילה את הקומטים האלה.

גרסה ‎1.9.0-alpha02

‫7 במאי 2025

androidx.compose.animation:animation-*:1.9.0-alpha02 משוחרר. גרסה ‎1.9.0-alpha02 מכילה את הקומטים האלה.

תכונות חדשות

  • שיפור משמעותי בתמיכה בגלילה או בגרירה של רכיבים משותפים. במילים אחרות, כשמגללים רכיב משותף במעבר, דלתת הגלילה תוחל ישירות על הרכיב המשותף, במקום לגרום לרכיבים המשותפים לרדוף אחרי היעד החדש. (cacf7b)

גרסה ‎1.9.0-alpha01

‫23 באפריל 2025

androidx.compose.animation:animation-*:1.9.0-alpha01 משוחרר. גרסה ‎1.9.0-alpha01 מכילה את הקומטים האלה.

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

  • בדיקות ה-Lint שמגיעות עם Compose דורשות עכשיו גרסת AGP מינימלית של 8.8.2. אם אין לכם אפשרות לשדרג את AGP, אתם יכולים לשדרג את Lint בנפרד באמצעות android.experimental.lint.version=8.8.2 (או גרסה חדשה יותר) בקובץ gradle.properties. כדי להריץ בדיקות lint של Compose בתוך סביבת הפיתוח המשולבת (IDE), נדרשת גרסה Android Studio Ladybug או גרסה חדשה יותר.

תכונות חדשות

  • שיפור ביצועי הגלילה ברכיבים משותפים (ea4f1f)

שינויים ב-API

  • כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP בגרסה 2.0.0 ומעלה. (Idb6b5)
  • האפשרויות TabRow ו-ScrollableTabRow הוצאו משימוש, ועכשיו יש וריאציות ראשיות ומשניות של כל אחת מהן. השורות בכרטיסיות 'ראשי' ו'משני' מציגות ביצועים טובים יותר ונתונים מדויקים יותר בהתאם למפרט. (I918e2)
  • נוספה LocalResources composition local to query Resources. השיחה עם LocalResources.current תורכב מחדש כשההגדרה תשתנה, כך ששיחות עם ממשקי API כמו stringResource() יחזירו ערכים מעודכנים (I50c13, ‏ b/274786917)

תיקוני באגים

  • מוודאים שהאלמנטים המשותפים מושמטים מהשכבת-העל כשהמעבר מסתיים (35f359)
  • הסרת קומפוזיציה מחדש מיותרת במעבר (988923)
  • תיקון של טיפול בהפרעות במעבר בין ילדים (8aed52)
  • חשוב לוודא שהמעבר מתאפס כשמספקים TransitionState חדש (57820a)

External Contribution

  • מתוך יצירה 1.8.1: סיום אנימציות ב-SeekableTransitionState אם כבר עבר משך הזמן החדש מאת Steven Schoen. (0c832c)

גרסה 1.8

גרסה 1.8.3

‫18 ביוני 2025

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

גרסה 1.8.2

‫20 במאי 2025

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

גרסה 1.8.1

‫7 במאי 2025

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

External Contribution

  • אנימציות מסתיימות ב-SeekableTransitionState אם הן כבר עברו את משך הזמן החדש. תודה, סטיבן שון! (fbcdf7)

גרסה 1.8.0

‫23 באפריל 2025

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

שינויים חשובים מאז גרסה 1.7.0

  • ב פוסט הזה בבלוג מוסבר על שינויים חשובים בגרסה 1.8.0
  • ‫API חדש של Modifier.animateBounds להנפשת שינויים בגודל ובמיקום במסגרת היקף של חיזוי מראש. (94b939)
  • ממשקי API סופיים לפריימים מרכזיים עם קשתות וספלינים (89e119)
  • תמיכה בחיפוש מראש ב-LazyGrid וב-Pager. ההבדלים האלה כוללים את ההבחנה בין מעבר lookahead לבין מעבר approach בגלילה, בהרכב/סילוק של פריטים ובאנימציה של פריטים, ושימוש במעבר lookahead כמקור האמת לגבי גלילה ויעד אנימציה של פריטים.
  • עדכנו את השמות של הפרמטרים sharedElement מ-state ל-sharedContentState כדי לשמור על עקביות בין ממשקי API של רכיבים משותפים. (9e7df5)
  • חבילת ממשקי ה-API AnimatedImageVector יציבה עכשיו.(69d7e0)

גרסה 1.8.0-rc03

‫9 באפריל 2025

androidx.compose.animation:animation-*:1.8.0-rc03 משוחרר. גרסה 1.8.0-rc03 מכילה את הקומטים האלה.

גרסה 1.8.0-rc02

‫26 במרץ 2025

androidx.compose.animation:animation-*:1.8.0-rc02 משוחרר. גרסה 1.8.0-rc02 מכילה את הקומטים האלה.

גרסה 1.8.0-rc01

‫12 במרץ 2025

androidx.compose.animation:animation-*:1.8.0-rc01 משוחרר. גרסה 1.8.0-rc01 מכילה את הקומטים האלה.

תיקוני באגים

  • מעבר קבוע של ילד מסומן בטעות כהפרעה. (3fa2ce)

גרסה 1.8.0-beta03

‫26 בפברואר 2025

androidx.compose.animation:animation-*:1.8.0-beta03 משוחרר. גרסה 1.8.0-beta03 מכילה את הקומטים האלה.

גרסה 1.8.0-beta02

‫12 בפברואר 2025

androidx.compose.animation:animation-*:1.8.0-beta02 משוחרר. גרסה 1.8.0-beta02 מכילה את הקומטים האלה.

גרסה ‎1.8.0-beta01

‫29 בינואר 2025

androidx.compose.animation:animation-*:1.8.0-beta01 משוחרר. גרסה 1.8.0-beta01 מכילה את הקומטים האלה.

גרסה ‎1.8.0-alpha08

‫15 בינואר 2025

androidx.compose.animation:animation-*:1.8.0-alpha08 משוחרר. גרסה ‎1.8.0-alpha08 מכילה את הקומטים האלה.

תיקוני באגים

  • תוקנה אנימציה שגויה של מיקום מ-animateBounds ב-LazyGrid בגלל איפוס של MotionFrameOfReferencePlacement. (16193b)
  • תוקנה שאילתה פנימית ב-SharedTransitionLayout על ידי הפניה מחדש של השאילתה הפנימית למעבר של חיפוש מראש משורש של חיפוש מראש ברמה העליונה. (a07d12)
  • נוספו תגי @param שהיו חסרים במסמכים. (e5cf67)

גרסה ‎1.8.0-alpha07

‫11 בדצמבר 2024

androidx.compose.animation:animation-*:1.8.0-alpha07 משוחרר. גרסה ‎1.8.0-alpha07 מכילה את הקומטים האלה.

תכונות חדשות

  • תמיכה בחיפוש מראש ב-Pager, על ידי הבחנה בין מעבר חיפוש מראש לבין מעבר גישה לשמירת פריטים ולשימוש בגלילה. (b/371802474)

תיקוני באגים

  • תוקן קראש נדיר שבו רכיב משותף מורכב אבל אף פעם לא נמדד או ממוקם. כדי לפתור את הבעיה, נדרש שהרכיב המשותף יעבור רינדור במקום לפחות פעם אחת לפני שהוא עובר רינדור בשכבת-על. (b/371802474)

גרסה ‎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 מכילה את הקומטים האלה.

תכונות חדשות

  • יש עכשיו תמיכה בתכונה Lookahead ב-LazyGrid. ההבדלים האלה כוללים את ההבחנה בין מעבר lookahead לבין מעבר approach בגלילה, בהרכב/סילוק של פריטים ובאנימציה של פריטים, ושימוש במעבר lookahead כמקור האמת לגבי גלילה ויעד אנימציה של פריטים.

תיקוני באגים

  • עדכון של מצבים פנימיים לשינוי הגודל של 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

  • הסרת דגלים ניסיוניים ב-Keyframes עם Arcs ו-Splines‏ (89e1199)

תיקוני באגים

  • דילוג על הלוגיקה של placeHolderSize אם לא נמצאה התאמה (77c0160)
  • הגבלת זמן ההפעלה ב-AndroidFlingSpline כדי למנוע קריסות בגלל זמן הפעלה שלא עולה באופן מונוטוני(9d47587)
  • תיקון בעיה שבה פריטים לא מוצגים בתנאים מסוימים (b41077b6)SharedTransitionScope

External Contribution

  • Prevent setting seekable transition playTime when no transition is running by Steven Schoen. (c2e6e7e6)

גרסה 1.7

גרסה 1.7.8

‫12 בפברואר 2025

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

גרסה 1.7.7

‫29 בינואר 2025

androidx.compose.animation:animation-*:1.7.7 משוחרר. אין שינויים מגרסה 1.7.6. ‫11 בדצמבר 2024

androidx.compose.animation:animation-*:1.7.6 משוחרר. גרסה 1.7.6 מכילה את הקומטים האלה.

גרסה 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 מכילה את הקומטים האלה.

External Contribution

  • מונעים הגדרה של מעבר שניתן להזזה playTime כשלא מתבצע מעבר. תודה, סטיבן שון! (c2e6e7e6)

גרסה 1.7.1

‫10 בספטמבר 2024

  • לא חלו שינויים בארטיפקטים של Android. -desktop ארטיפקטים הוסרו ו-jvmStubs ו-linuxx64Stubs ארטיפקטים נוספו. לא מיועד שימוש באף אחד מהיעדים האלה, הם משמשים כ-placeholder כדי לתמוך במאמצים של 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 Experimental הוא עכשיו ממשק ולא מחלקה. (Iaf856)
  • חדש resizeModes (ScaleToBounds ו-RemeasureToBounds) ל-sharedBounds כדי לבחור בין שינוי גודל לבין מדידה מחדש. ממשקי ה-API הקודמים של scaleIn/OutSharedContentToBounds הוצאו משימוש. (I0d41a)

שיפורים בממשקי API קיימים:

  • פרמטר חדש Modifier.animateContentSize שמקבל פרמטר נוסף להתאמה אישית של התוכן. ‫(I5623a, ‏ b/269803907)
  • תכונה ניסיונית חדשה DeferredTargetAnimation להנפשת הגודל, המיקום או כל יעד אחר שלא ידוע במהלך יצירת המופע. (I60745)
  • SeekableTransitionState מחליף את snapTo() ב-seekTo(), ומוסיף snapTo() שמשנה מיידית את המצב למצב יעד ללא אנימציה כלשהי.
  • עכשיו אפשר להעביר ערך periodicBias (מספר עשרוני) ל-keyframesWithSpline, וכך המהירות ההתחלתית והסופית של הספלין יהיו שוות. האפשרות הזו שימושית לאנימציות שחוזרות על עצמן באמצעות ספלינים. ההטיה מציינת את מידת השינוי שנעשה בכל מהירות (ההתחלתית והסופית) כדי להשיג מחזוריות. (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 מכילה את ההעברות האלה.

תיקוני באגים

  • עכשיו אפשר לקרוא את מאפיין המעבר 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)

External Contribution

  • התכונה הניסיונית 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)

External Contribution

  • 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 (מספר עשרוני) ל-keyframesWithSpline, וכך המהירות ההתחלתית והסופית של הספלין יהיו שוות. האפשרות הזו שימושית לאנימציות שחוזרות על עצמן באמצעות ספלינים. ההטיה מציינת את מידת השינוי שנעשה בכל מהירות (ההתחלתית והסופית) כדי להשיג מחזוריות. (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 מכילה את הקומיטים האלה.

תיקוני באגים

גרסה 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 מכילה את הקומיטים האלה.

שינויים ב-API

  • השם ExitTransition.Hold שונה ל-ExitTransition.KeepUntilTransitionsFinished כדי להיות מפורש יותר. (I1c490)
  • מעכשיו אפשר להשתמש ב-keyframesWithSpline כדי לבצע אינטרפולציה של ערך N-ממדי באמצעות ספלינים מונוטוניים. הפונקציה הזו שימושית במיוחד לאינטרפולציה של ערכים מיקומיים כמו Offset, IntOffset, DpOffset. נוסף כ-API ניסיוני.

תיקוני באגים

  • הוספנו תמיכה ב-Renderer לטווח צבעים מתמשך ב-ArcLine. (I4d5bb)
  • צריך להטמיע את הפונקציות equals ו-hashcode עבור PageSize.Fixed. (Ie3ede, ‏ b/300134276)
  • תיקון בעיית תאימות בינארית בשינוי של Window Inset. (Iee695)
  • הסרנו את שכבת הליבה של Material עבור רכיב Chip/Button של 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

  • לכרטיסיות קבועות ולכרטיסיות שאפשר לגלול בהן יש עכשיו וריאציות ראשיות ומשניות. הם ממופים בצורה נכונה להתנהגות הצבע והאינדיקטור כפי שהוגדרו ב-Material3.
  • PrimaryScrollableTabRow ו-SecondaryScrollableTabRow חושפים עכשיו את מצב הגלילה. (Iec8f5, b/260572337)

גרסה 1.6.0-alpha06

‫20 בספטמבר 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 משוחרר. גרסה ‎1.6.0-alpha06 מכילה את הקומיטים האלה.

גרסה ‎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 במערכת החיפוש המתקדם, צריך לדווח על גודל היעד במעבר החיפוש המתקדם.

שינויים ב-API

  • מאפיין חדש ב-IntrinsincMeasureScope וההטמעות שלו (למשל, MeasureScope) כדי לציין אם המעבר הנוכחי למדידה הוא מעבר צופה פני עתיד. (I7a812)

תיקוני באגים

  • הוסרו הקצאות מאנימציות קפיציות. (Ie9431)
  • השתנה שם פרמטר הערך של Enum.valueOf ‏ (Ia9b89)
  • עוד חריגים שהופעלו מ-enum valueOf ‏ (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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תוקנה בעיה שבה שדות טקסט הציגו מקלדת ואפשרו עריכה כש-readOnly היה true. בנוסף, תוקנה בעיה שגרמה לכך שהמקלדת לא הוצגה כשreadOnly השתנה מ-true ל-false בזמן שהיה מיקוד. (I34a19, b/246909589)

גירסה 1.5.1

‫6 בספטמבר 2023

androidx.compose.animation:animation-*:1.5.1 משוחרר. גרסה 1.5.1 מכילה את הקומיטים האלה.

גרסה 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) הייתה מדווחת על אזהרת Lint עם תיקון לא תקין. עכשיו, בביקורת תופיע המלצה להעברה לנכס הנכון. (Iba953, b/287279257)

  • אפשר לבצע בדיקה אופציונלית כדי להמליץ על העברת קריאות של mutableStateOf() לסוגים המקבילים והמיוחדים שלהם עבור פרימיטיבים. מזהה ה-lint הוא 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

  • SubcomposeLayout API חדש שמקבל מדיניות נוספת של אמצעי ביניים לטיפול בלוגיקה של מדידה או פריסה במהלך אנימציות מבוססות-תחזית. (I017d3)

גרסה ‎1.5.0-alpha01

‫22 במרץ 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 משוחרר. גרסה ‎1.5.0-alpha01 מכילה את הקומיטים האלה.

שינויים ב-API

  • AnimatedContent APIs are now stable AnimatedContentScope (ממשקי ה-API יציבים עכשיו) שינה את השם ל-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 מכילה את הקומיטים האלה.

גרסה 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 מכילה את הקומיטים האלה.

שינויים

  • לא בוצעו שינויים בספריות האנימציה מאז גרסת האלפא האחרונה, רק שינוי במספר הגרסה

גרסה 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 מכילה את הקומיטים האלה.

תכונות חדשות

  • יש תמיכה בתווית Tooling ב-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 לא יישלחו עד שכל הקריאות החוזרות של המסגרת יסיימו לפעול. ההתנהגות הזו זהה להתנהגות של כתיבת הודעה כשהיא פועלת כרגיל. עם זאת, יכול להיות שבדיקות שמסתמכות על ההתנהגות הישנה ייכשלו. השינוי הזה אמור להשפיע רק על קוד שמבצע קריאה ישירה לפונקציות withFrameNanos או withFrameMillis, וכולל לוגיקה מחוץ לפונקציות הקריאה החוזרת שמועברת לפונקציות האלה. יכול להיות שיהיה צורך להעביר את הלוגיקה הזו אל תוך פונקציות הקריאה החוזרת. בדוגמה הזו של רשימת שינויים אפשר לראות את השינויים בבדיקת האנימציה.
  • נוסף פרמטר אופציונלי onPerformTraversals: (Long) -> Unit ל-constructor ולפונקציית factory של TestMonotonicFrameClock כדי להריץ קוד אחרי הקריאות החוזרות (callbacks) של withFrameNanos אבל לפני חידוש הקורוטינות של המתקשרים. (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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תיקון אנימציית הפרעה שגויה ב-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 מכילה את הקומיטים האלה.

  • לא בוצעו שינויים מאז גרסה 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 חדש שתומך במעבר צפייה קדימה לפני המדידה או הפריסה בפועל. האפשרות הזו מאפשרת לבצע חישוב מראש של הפריסה כשהיא משתנה, ובמקביל מאפשרת למדד או לפריסה של אחרי החיפוש קדימה להשתמש בגודל או במיקום שחושבו מראש כדי להנפיש את הגודל והמיקומים לעבר היעד. 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

  • עדכון של הניתוח של תמונות וקטוריות כדי לתמוך בהיפוך אוטומטי של התוכן של VectorPainter אם כיוון הפריסה הנוכחי הוא מימין לשמאל. (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

  • כדי לטעון קובץ משאבים מסוג <animated-vector>, משתמשים ב-AnimatedImageVector.animatedVectorResource במקום ב-animatedVectorResource.
    • משתמשים ב-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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תיקון NullPointerException ב-androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, ‏ b/206677462)
  • תוקנה קריסה שנגרמה בגלל תוכן הלוח בזמן קריאה מהלוח ב-Android. (I06020, ‏ b/197769306)
  • תוקנה בעיה בפריסה מימין לשמאל ב-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
  • שיפורים בגודל משטח המגע
  • שימו לב: ב-Compose 1.0, רכיבי Material ירחיבו את שטח הפריסה שלהם כדי לעמוד בהנחיות הנגישות של Material בנושא גודל אזור המגע. לדוגמה, משטח המגע של לחצן יתרחב לגודל מינימלי של 48x48dp, גם אם הגדרתם גודל קטן יותר ללחצן. ההתנהגות הזו של Compose Material זהה להתנהגות של רכיבי Material Design, כך שאם משלבים בין Views לבין Compose, ההתנהגות תהיה עקבית. השינוי הזה גם מבטיח שכשתצרו את ממשק המשתמש באמצעות רכיבי Compose Material, הדרישות המינימליות לנגישות של משטחי מגע יתקיימו.
  • תמיכה יציבה בפס ניווט
  • העברה של מספר ממשקי 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

  • כדי לטעון קובץ משאבים מסוג <animated-vector>, משתמשים ב-AnimatedImageVector.animatedVectorResource במקום ב-animatedVectorResource.
    • משתמשים ב-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 חדשים לאנימציה לתמיכה בכלים. הן מאפשרות לכלים לבדוק את האנימציות ואת ההגדרות שלהן במעברים. (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 חדשים לאנימציה לתמיכה בכלים. הן מאפשרות לכלים לבדוק את האנימציות ואת ההגדרות שלהן במעברים. (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

  • ממשקי ה-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)
  • מעבר חדש של כניסה/יציאה לשינוי גודל. אפשר להשתמש בו בשילוב עם סוגים אחרים של Enter/ExitTransitions. ‫(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)

תיקוני באגים

גירסה 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 מכילה את הקומיטים האלה.

תיקוני באגים

  • תוקנה קריסה במעקב אחר מופעים של 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 מכילה את הקומיטים האלה.

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

  • העדכון כולל תלות ב-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 מכילה את הקומיטים האלה.

העדכון כולל תמיכה בגרסת Compose 1.0.2. ‫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 מכילה את הקומיטים האלה.

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

  • העדכון כולל תלות ב-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.

בעיות מוכרות

  • אם אתם משתמשים ב-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)

נוספו כללי פרופיל

בגרסה הזו נוספו כללי פרופיל למודולים הבאים של כתיבת הודעות (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> הוא המתאר של המחלקה שאליה שייכת השיטה המטורגטת. לדוגמה, למחלקה androidx.compose.runtime.SlotTable יהיה דסקריפטור של Landroidx/compose/runtime/SlotTable;.

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

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

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

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

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

  • מתודה עם הסימון P היא מתודה שמופעלת אחרי ההפעלה.

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

איך זה עובד?

  • ספריות יכולות להגדיר את הכללים האלה, שייארזו בפרטי מידע שנוצרו בתהליך של פיתוח (Artifact) מסוג 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 בקריאות החוזרות של 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/preferredHeight/preferredSize שונו ל-width/height/size. (I5b414)
  • ההגדרה 'כיוון' הועברה לחבילת הבסיס. ה-VelocityTracker הועבר מ-ui.gesture אל ui.input.pointer. (Iff4a8, ‏ b/175294473)
  • הוסרו AnimationClockObservable ומחלקות משנה. התכונה AnimatedFloat הוסרה. (Icde52, ‏ b/177457083)
  • הפונקציה Modifier.draggable מקבלת עכשיו DraggableState במקום פונקציית למדה פשוטה. אפשר ליצור מצב באמצעות rememberDraggableState { delta -> } כדי לקבל את אותה התנהגות כמו קודם (Ica70f, ‏ b/175294473)
  • ממשקי ה-API‏ animate,‏ animatedValue ו-AnimatedValue הוסרו (If27bc,‏ b/177457083)
  • ההגדרה AnimationEndReason.Interrupted הוסרה. אם האנימציה מופסקת, המערכת תפעיל את CancellationException. ‫(I2cbbc, ‏ b/179695417)
  • הוסר TargetAnimation API. (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 דורש עכשיו מפתחות לזכירה כדי לציין מתי קורוטינת הזיהוי של קלט מצביע צריכה להפעיל מחדש תלויות חדשות. (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 ב-Bundle. אם בעבר העברתם אובייקט מותאם אישית של saver, עכשיו אתם צריכים להשתמש בעומס יתר חדש של 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)
  • עדכנו את Modifier.animateContentSize API כדי שיהיה עקבי עם שאר מערכת האנימציה. (I0bf75, ‏ b/177457083)
  • המאפיין AnimatedValue/Float הוצא משימוש. במקומה צריך להשתמש ב-Animatable. (I71345, ‏ b/177457083)
  • המסננים tapGestureFilter, ‏ doubleTapGestureFilter, ‏ longPressGestureFilter ו-pressIndicaitonGestureFilter הוצאו משימוש. במקום זאת, אפשר להשתמש ב-Modifier.clickable או ב-Modifier.pointerInput עם הפונקציה detectTapGestures. (I6baf9, b/175294473)
  • נוסף רכיב של הקשר קורוטינה InfiniteAnimationPolicy שיוחל באנימציות אינסופיות. כברירת מחדל, לא מותקנת מדיניות, אלא אם מריצים בדיקות עם ComposeTestRule. (I50ec4, b/151940543)
  • הוסרו שיטות של פירוק מבנה (destructuring) ושל copy() מכמה מחלקות שבהן השימוש בהן היה נדיר. ‫(I26702, ‏ b/178659281)
  • זמן ההפעלה באנימציה מאוחד עכשיו למיליארדית השנייה (If776a)
  • הוצאנו משימוש את פריט המידע שנוצר בתהליך פיתוח compose:runtime-dispatch. המחלקות MonotonicFrameClock נמצאת עכשיו ב-compose:runtime והמחלקות AndroidUiDispatcher נמצאת ב-compose:ui. (Ib5c36)
  • נוספו Animation.isInfinite ו-VectorizedAnimationSpec.isInfinite שמציינים אם האנימציה אינסופית או לא. אפשר להשתמש בזה בהטמעות של אנימציות כדי לטפל באנימציות כאלה בצורה מיוחדת. לדוגמה, אפשר להציג הודעה מיוחדת של 'הזמן שנותר', או לבטל את האנימציה במהלך בדיקות כדי למנוע המתנה למצב חוסר פעילות ללא הגבלת זמן. (Iebb05, ‏ b/151940543)
  • שימוש בערך Long במקום בערך Uptime כסוג זמן אנימציה (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 כך שיכללו פונקציות @Composable שמחזירות State<T>. הוספנו את Animatable.asState() כדי להקל על ההמרה של Animatable ל-State. בנוסף, השינוי הזה הופך את animateElevation לתוסף השהיה ב-Animatable. (If613c)

תיקוני באגים

  • הוצאו משימוש הפונקציות onCommit,‏ onDispose ו-onActive לטובת ממשקי ה-API‏ SideEffect ו-DisposableEffect ‏ (If760e)
  • יש עכשיו תמיכה ב-Initial State ב-updateTransition ‏ (Ifd51d)
  • נוסף פרמטר של תיאור תוכן לתמונה ולסמל. הוא משמש כדי לספק תיאור לשירותי הנגישות (I2ac4c)
  • הפונקציות invalidate ו-compositionReference() הוצאו משימוש, ועכשיו משתמשים בפונקציות currentRecomposeScope ו-rememberCompositionReference בהתאמה. (I583a8)
  • הערכים של משך הזמן וזמן הפעולה יוחלפו בערכים של אלפיות שנייה ארוכות, ובשלב הזה מוסרת התלות של קלט מצביע במחלקות האלה. ‫(Ia33b2, ‏ b/175142755, ‏ b/177420019)
  • אפשר ליצור עכשיו רכיבים מסוג clickable, ‏ toggleable ו-selectable מחוץ לרכיב composition‏ (I0a130, ‏ b/172938345, ‏ b/175294473)
  • הפונקציה Easing השתנתה לממשק פונקציונלי (Ib14e5)
  • items(count: Int) factory method חדש להיקף של 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)
  • השקנו קבוצה חדשה לגמרי של ממשקי Transition API עם שיפורים בנוחות השימוש, ותמיכה באנימציות שנוספות באופן דינמי וביעדי אנימציה שמחושבים באופן דינמי. ממשקי ה-API האלה מסומנים כניסיוניים כדי להבדיל אותם בקלות מממשקי ה-API שמבוססים על TransitionDefinition. (Ia7fe3)

תיקוני באגים

  • פונקציות למדא במגדירי היסט מחזירות עכשיו 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

  • נוספה בדיקת lint לשמות ולמיקום של פרמטרים של lambda שניתנים להרכבה, כדי לבדוק את העקביות עם ההנחיות של Compose. בנוסף, העברנו חלק מממשקי ה-API באמצעות children כשם של פונקציית ה-lambda האחרונה שלהם אל content, בהתאם לבדיקת ה-lint ולהנחיות. (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)
  • השדות uptime ו-position של PointerInputData לא יכולים להיות null. (Id468a)
  • השם של משני offsetPx שונה ל-offset. הם מקבלים עכשיו פרמטרים של lambda במקום State. (Ic3021, ‏ b/173594846)
  • ממשקי API חדשים להפעלת אנימציות ברוטינות משנה (Ied662)
  • המאפיינים שהוצאו משימוש נקראים עם Ambient כסיומת, והוחלפו במאפיינים חדשים שמתחילים ב-Ambient, בהתאם להנחיות לגבי מאפייני Ambient אחרים ולגבי Compose API. (I33440)
  • השליטה בזמן בבדיקות (TestAnimationClock והשימושים בה) היא עכשיו ניסיונית (I6ef86, b/171378521)
  • הסרת המודול הישן ui-test וה-stubs שלו (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 מכילה את הקומיטים האלה.

תיקוני באגים

  • המאפיינים הבסיסיים 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() והחלפתם בממשקי ה-API‏ 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 מכילה את הקומיטים האלה.

שינויים ב-API

  • הוספת ההערה @VisibleForTesting ל-rootAnimationClockFactory, ל-transitionsEnabled, ל-blinkingCursorEnabled ול-textInputServiceFactory, כדי להפוך אותם ל-API פנימי ולהסתיר את ה-kdoc שלהם (I554eb, ‏ b/168308412)

תיקוני באגים

  • עודכנו הרבה ממשקי API של גרפיקה
    • ממשקי ה-API של טרנספורמציות של שינוי גודל וסיבוב עודכנו כך שישתמשו בפרמטר Offset יחיד כדי לייצג את קואורדינטת נקודת המשען, במקום בפרמטרים נפרדים של מספרים ממשיים לקואורדינטות x/y ב-DrawScope וב-DrawTransform
    • הוסרו השיטות Rect.expandToInclude ו-Rect.join
    • עדכנו את התיעוד של הרדיוס כך שיכלול גם צורה אובלית בנוסף לצורה אליפטית
    • הוספנו תיעוד שמציין שאסור לקרוא ישירות לבונה הציבורי של המחלקה Radius inline, אלא צריך ליצור מופעים של אובייקטים מסוג Radius באמצעות בוני הפונקציות שלהם
    • הוסרו ממשקי RoundRect API לשליחת שאילתות לגבי 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 של גודל שהניחו שמדובר במלבן עם נקודת מוצא ב-0,0
    • הוספנו API להשמדה ל-Radius
    • העברנו פונקציות שונות של התוסף 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)
  • הפרמטרים של קישוט התיבה הוצאו משימוש. אם רוצים להוסיף קישוטים או ריווח לתיבה, צריך להשתמש במקום זאת בשינויים (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 ב-APIs של פריסות. ‫(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 פועלות עכשיו באותו פריים של Choreographer שבו השינויים בהרכב מבוצעים, ולא בתחילת הפריים הבא של Choreographer. (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 מכילה את הקומיטים האלה.

תכונות חדשות

שינויים ב-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)
  • הקומפוזיציה 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)
  • נוסף משנה (modifier) חדש בשם 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)
  • ה-API‏ 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

  • ה-API של Transition שונה כך שהוא מחזיר TransitionState במקום להעביר את TransitionState לצאצאים. כך ה-API עקבי יותר עם ממשקי animate() API. (I24e38)
  • נוסף פרמטר לשינוי של Crossfade (I87cfe, ‏ b/159706180)
  • כדי להבהיר את המושג של הגדרת אנימציה סטטית, כדאי להשתמש ב-AnimationSpec במקום ב-AnimationBuilder בממשקי ה-API ברמה העליונה
    • שיפור המעבר ב-DSL על ידי הסרת הדרישה ל-lambda ליצירת AnimationSpecs כמו tween, ‏ spring. במקום זאת, הם מקבלים ישירות פרמטרים של בנאי.
    • שיפור קלות השימוש הכוללת ב-AnimationSpec על ידי פתיחת בנאים במקום להסתמך על בונים
    • משנים את משך הזמן והעיכוב של KeyFrames ו-Tween ל-Int. כך נמנעים מהמרות מיותרות של סוגים ומשימוש יתר בשיטות (כדי לתמוך גם ב-Long וגם ב-Int). (Ica0b4)
  • השימוש ב-IntPx הוחלף ב-Int. השימוש ב-IntPxPosition הוחלף ב-IntOffset. המאפיין IntPxSize הוחלף במאפיין IntSize. (Ib7b44)
  • כדי לאחד את מספר הכיתות שמשמשות לייצוג מידע על גודל, צריך להשתמש בכיתת הגודל במקום ב-PxSize. השימוש בשיטה הזו מאפשר ליהנות מהיתרונות של מחלקה מוטמעת כדי להשתמש בערך מסוג long כדי לארוז 2 ערכים מסוג float שמייצגים רוחב וגובה. (Ic0191)
  • כדי לצמצם את מספר המחלקות שמשמשות לייצוג נתוני מיקום, מומלץ להשתמש במחלקה Offset במקום ב-PxPosition. השימוש ב-inline class מאפשר ליהנות מהיתרונות של long כדי לארוז 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)
  • הווידג'ט Crossfade מקבל עכשיו פרמטר AnimationBuilder אופציונלי כדי לאפשר הגדרה של האנימציה (I6d6e0)
  • החלפנו את כל השימושים ב-Color שניתן להגדיר כ-nullable ב-API בשימושים שאי אפשר להגדיר כ-nullable, והשתמשנו ב-Color.Unset במקום ב-null ‏ (Iabaa7)
  • הוסר הערך ValueHolder class. שינינו את המבנה של המחלקות AnimatedValue ו-AnimatedFloat כדי להפוך את שדה ערך האנימציה למופשט, כך שמחלקות משנה יוכלו לעקוב אחרי עדכון הערך.
    • נוספו מחלקות מודלים ל-AnimatedValue,‏ AnimatedFloat וכו'.
    • הוספנו קבוצה חדשה של ממשקי API קלי משקל מסוג @Composable להנפשה בין ערכים. (I79530)
  • שינויי תוכנה שעלולים לגרום לכשל ב-API של מצב אווירה. פרטים נוספים זמינים ביומן ובמסמכי התיעוד (I4c7ee, b/143769776)Ambient<T>
  • מצב חזרה חדש: הפוך. במצב הזה, האיטרציה הקודמת מתהפכת כשהאנימציה חוזרת ב-RepeatableSpec או ב-VectorizedRepeatableSpec. (Ibe0f5)
  • תוספות ל-API של ManualAnimationClock: hasObservers: Boolean ופרמטר של בנאי dispatchOnSubscribe: Boolean (Iaa134)
  • הוספנו ממשקי API לקבלת גבולות מינימליים ומקסימליים ב-AnimatedFloat ‏ (Icd9cc)

תיקוני באגים

  • השם של runOnIdleCompose שונה לrunOnIdle (I83607)
  • השמות של כמה ממשקי API לבדיקות השתנו כדי שיהיו אינטואיטיביים יותר. כל ממשקי ה-API מסוג findXYZ קיבלו שם חדש: onNodeXYZ. כל ממשקי ה-API של doXYZ קיבלו שם חדש: performXYZ. (I7f164)
  • השקנו ממשקי API של אנימציה ללא שמירת מצב ברמה נמוכה. ממשקי ה-API האלה (I63bf7)
  • הקומפוזבל Recompose כבר לא מהווה הפשטה שימושית. רוב ההרכבה מחדש צריכה לקרות כתוצאה מהקצאות של MutableState. לכל דבר אחר, מומלץ להשתמש בפונקציה invalidate כדי להפעיל יצירה מחדש של ההיקף הנוכחי. (Ifc992)
  • החלפנו את השימוש במחלקה Px בכמה מחלקות Compose כחלק ממאמץ רחב של שינוי מבנה הקוד, כדי להסתמך רק על Dp ועל סוגים פרימיטיביים של פרמטרים של פיקסלים. מחקנו את הכיתה Px במלואה (I3ff33)
  • החלפנו את השימוש במחלקת Px בכמה מחלקות של Compose כחלק ממאמץ רחב של שינוי מבנה הקוד, כדי להסתמך רק על 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 ברמה גבוהה יותר של Compose עודכנו כך שבמקום Canvas הם חושפים CanvasScope. כך הצרכנים לא צריכים לתחזק אובייקטים משלהם של Paint. צרכנים שעדיין צריכים גישה ל-Canvas יכולים להשתמש בשיטה drawCanvas של התוסף, שמספקת קריאה חוזרת להנפקת פקודות ציור עם ה-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)
  • ‫[Mutable]אופרטורים של נציגי מאפיינים של מצב הועברו לתוספים כדי לתמוך באופטימיזציות של נציגי מאפיינים ב-Kotlin 1.4. כדי להמשיך להשתמש ב-by state { ... } או ב-by mutableStateOf(...), המתקשרים צריכים להוסיף ייבוא. (I5312c)
  • התכונה ColoredRect הוצאה משימוש. במקום זאת, אתם צריכים להשתמש ב-Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, ‏ b/152753731)
  • הוחלף Modifier plus operator בפונקציות של תוסף factory ‏ (I225e4)
  • הוצא משימוש Center composable. צריך להחליף אותו ב-LayoutSize.Fill + LayoutAlign.Center modifier, או באחד מהתכנים הקומפוזביליים Box או Stack עם שינויים מתאימים (Idf5e0)
  • השם של LayoutFlexible שונה ל-LayoutWeight. השם של הפרמטר tight שונה ל-fill. (If4738)
  • הפונקציה Opacity composable הוחלפה במאפיין drawOpacity modifier. (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)