Constraintlayout

אפשר למקם ולשנות את הגודל של הווידג'טים בצורה גמישה באמצעות מיקום יחסי.

בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.constraintlayout.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
constraintlayout 2.2.1 - - -
constraintlayout-compose 1.1.1 - - -
constraintlayout-core 1.1.1 - - -

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

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

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

מגניב

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.2.1"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.1"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.1")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.1")
}

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

משוב

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

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

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

‫ConstraintLayout-compose ו-ConstraintLayout-Core 1.1

גרסה 1.1.1

‫26 בפברואר 2025

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.1, androidx.constraintlayout:constraintlayout-compose-android:1.1.1 וגם androidx.constraintlayout:constraintlayout-core:1.1.1 מושקות. גרסה 1.1.1 מכילה את הקומטים האלה.

תיקוני באגים

  • תוקנו כמה בעיות בפריסה שגרמו לכך שבמקרים מסוימים פריסות לא הוצבו. למשל, שינוי הגדרת החשיפה. (I34e68, ‏ b/299134793)

גרסה 1.1.0

‫30 באוקטובר 2024

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0, androidx.constraintlayout:constraintlayout-compose-android:1.1.0 וגם androidx.constraintlayout:constraintlayout-core:1.1.0 מושקות. גרסה 1.1.0 מכילה את ההתחייבויות האלה.

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

  • תוקנה אינטראקציה עם SharedTransitionLayout ‏ (b/332898040).
  • תוקנו בעיות בפריסה שקשורות למדידה בגלל הרכבה מחדש (b/219091179, ‏ Ibfe8a).

גרסה ‎1.1.0-rc01

‫16 באוקטובר 2024

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-rc01 מושקות. גרסה 1.1.0-rc01 מכילה את הקומטים האלה.

גרסה ‎1.1.0-beta01

‫4 בספטמבר 2024

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 מושקות. גרסה ‎1.1.0-beta01 מכילה את ההעברות האלה.

גרסה ‎1.1.0-alpha14

‫7 באוגוסט 2024

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14 מושקות. גרסה ‎1.1.0-alpha14 מכילה את הקודים האלה.

שינויים ב-API

  • הדגלים מסופקים עכשיו בנפרד דרך אובייקט ה-companion, ואפשר לשלב אותם עם האופרטור or. (I9df53)
  • עזרה פשוטה יותר ב-createRow וב-createColumn. שיפרנו את createGrid שמות הפרמטרים והמסמכים כדי שיהיו ברורים יותר. (Iebc92)
  • animateChanges API פשוט יותר ב-ConstraintLayout, שדורש רק AnimationSpec שאינו null. ‫onIncomingConstraints ב-InvalidationStrategy הוא עכשיו lambda רגיל. השם fixedWidthRate שונה ל-shouldInvalidateOnFixedWith, וגם השם של הווריאנט Height שונה. (Ie59cd, ‏ b/332898040, ‏ b/336370035)
  • מקורות NestedScroll Drag and Fling מוחלפים במקורות UserInput ו-SideEffect כדי להתאים להגדרה המורחבת של המקורות האלה, שכוללת עכשיו אנימציות (Side Effect) וגלגל העכבר והמקלדת (UserInput). (I40579)

גרסה ‎1.1.0-alpha13

‫4 באוקטובר 2023

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 יצאו ללא שינויים. גרסה ‎1.1.0-alpha13 מכילה את הקומיטים האלה.

  • הגרסה הזו מאפשרת לספריות androidx.constraintlayout להיות תואמות ל-ABI עם הגרסאות האחרונות של Compose.

גרסה ‎1.1.0-alpha12

‫9 באוגוסט 2023

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12 מושקות. גרסה ‎1.1.0-alpha12 מכילה את הקומיטים האלה.

שינויים ב-API

  • הוספנו את LayoutScopeMarker ל-Transition DSL. (If54ce)

גרסה ‎1.1.0-alpha11

‫26 ביולי 2023

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11 מושקות. גרסה ‎1.1.0-alpha11 מכילה את הקומיטים האלה.

תכונות חדשות

  • עכשיו אפשר לספק InvalidationStrategy כדי לבצע אופטימיזציה של ביטולים ב-MotionLayout. בדרך כלל זה המקור לירידה בביצועים. (Iada0c)
  • מעכשיו אפשר להשתמש ב-animateChanges = true כשמשתמשים ב-ConstraintLayout עם שפת תיאור מותאמת (DSL) של משנה מוטבע (Modifier.constrainAs). בכל פעם שמתבצע שינוי בשפת תיאור מותאמת של אילוצים, ConstraintLayout יונפש אוטומטית למצב החדש הזה. (I9abf1)
  • הפעלת פונקציונליות עבור limitBoundsTo ב-OnSwipe. (I56522)

שינויים ב-API

  • השם של TransitionScope.staggered שונה ל-TransitionScope.maxStaggerDelay. (I0fd2d)

תיקוני באגים

  • תוקנה הבעיה שגרמה לכך שהפרמטר dragScale עם הערך OnSwipe לא פעל. (8bef26)
  • תוקנה בעיה שבה customColor ב-MotionScene לא פעל כמו שצריך עם צבעים שקופים. (81b2ac)
  • תוקן באג שגרם לכך ש-OnSwipe לא הוכרז בצורה תקינה כשהוא נעצר, ותוקן גם חישוב המהירות ההתחלתית של OnSwipe.touchUp (Ia5f6f)
  • עדכון של KDoc עבור ConstraintLayout Composable ו-Constraintset. (3bfe63)

גרסה ‎1.1.0-alpha10

‫24 במאי 2023

האפליקציות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 וגם androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10 מושקות. גרסה ‎1.1.0-alpha10 מכילה את הקומיטים האלה.

שינויים ב-API

  • MotionLayout Api כבר לא נמצא בשלב הניסוי, אלא מייצג את קבוצת ה-Api היציבה הראשונית של MotionLayout. (I288f4)
  • בוצעה הסרה של MotionLayoutState. (Id3ac1)
  • עכשיו אפשר להשתמש ב-DebugFlags לניפוי באגים חזותי: DebugFlags(showBounds = true). (Ic714b)
  • המשתנה של התוסף Dp.asDimension השתנה לשיטה: Dp.asDimension(). (I2d6ef)
  • החל מעכשיו יש תמיכה בשיטת ה-staggered ב-MotionLayout DSL. אפשר להגדיר את העיכוב המקסימלי באמצעות TransitionScope.staggered, ואפשר גם להשתמש ב-ConstrainScope.staggeredWeight (בתוך MotionSceneScope) כדי לקבל סדר staggered בהתאמה אישית. (I70275)
  • ביצענו שני שינויים בכלי Grid helper: 1. ‫paddingLeft ו-paddingRight ל-paddingStart ו-paddingEnd, בהתאמה, ו-2. לעדכן את הפורמט של gridSpans ו-gridSkip למערך של אובייקטים מסוג Span ו-Skip כדי להפוך אותו למבני יותר. (Idd1eb)

גרסה ‎1.1.0-alpha09

‫22 במרץ 2023

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09 יוצאות לאור. גרסה ‎1.1.0-alpha09 מכילה את הקומיטים האלה.

שינויים ב-API

  • מעכשיו, לא נדרש יותר LookaheadScope מפורש ב-Modifier.intermediateLayout. בלוק המדדים ב-intermediateLayout מוגדר IntermediateMeasureScope כמקבל, ומספק CoroutineScope, LookaheadScope ו-MeasureScope נוחים.
  • LookaheadLayout הוחלף ב-LookaheadScope, שכבר לא מוגדר כפריסה. כך אפשר לשלוט ישירות בתוכן של ילדים ב-LookaheadScope באמצעות MeasurePolicy של ההורה. (Ibe2e5)
  • Easing.Cubic() יכול עכשיו לקבל פרמטרים של חריגה. (I2d826)

גרסה ‎1.1.0-alpha08

‫8 במרץ 2023

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08 יוצאות לאור. גרסה ‎1.1.0-alpha08 מכילה את הקומיטים האלה.

תכונות חדשות

  • הוספנו בדיקות Lint כדי להציע שימוש ב-Dimension.percent(1f) וב-LayoutReference.withChainParams() במקרים שבהם הדפוסים האופייניים עלולים להוביל להתנהגות בלתי צפויה. (I62eb0, I03060)

שינויים ב-API

  • מפעילים את הדגלים ReverseSpanDirection ו-SpansOrderFirst עבור הכלי Grid Helper במצב כתיבה.
    1. ReverseSpanDirection: הופך את מפרט הרוחב והגובה של טווחים או דילוגים.
    2. SpansOrderFirst: הטווחים יתאימו לסדר הווידג'טים. (I6ad50)
  • משתמשים ב-Modifier.onStartEndBoundsChanged(...) כדי לקבל גבולות מקומיים של רכיבי Composables ב-MotionLayout שלא מושפעים מאנימציה. המאפיין הזה שימושי לכל אינטראקציה עם ממשק המשתמש שדורשת מידע על הפריסה, שעשוי גם להפעיל אנימציות כמו DragAndDrop. (I6b5f9)
  • הפעלת דילוגים וטווחים של הכלי לעריכת פריסה בכתיבה (I917b6)

תיקוני באגים

  • תוקנה בעיה שבה מאפייני תרגום לא החילו את הערכים הצפויים. (I961cd)

גרסה ‎1.1.0-alpha07

‫8 בפברואר 2023

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07 יוצאות לאור. גרסה ‎1.1.0-alpha07 מכילה את הקומיטים האלה.

תכונות חדשות

  • הוספת ממשקי API חדשים כדי להפעיל את הכלי Grid Helper ב-Compose באמצעות DSL ‏ (I1143b)

תיקוני באגים

  • תוקנה הבעיה Wrap.Chain שבה הפריסה של Flow לא תקינה בהתאם לפרמטר maxElement שצוין. (e1f2ed3)
  • תוקנה בעיה שגרמה לכך שהמעבר start ConstraintSet לא התעדכן כששינו את המעבר דרך MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String). (17ffff1)
  • תוקנה בעיה שגרמה לכך שחלק מהשינויים לא נכללו ב-ConstraintSet כשמגדירים אילוצים באמצעות ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit).(740804b)

גרסה ‎1.1.0-alpha06

‫25 בינואר 2023

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06 יוצאות לאור. גרסה ‎1.1.0-alpha06 מכילה את הקומיטים האלה.

תכונות חדשות

  • מוסיפים ממשקי API חדשים כדי להפעיל את Grid Helper ב-Compose עם ייצוג JSON שמאפשר להציב רכיבים הניתנים להרכבה ברשת דו-ממדית. (I968ad)

שינויים ב-API

  • הוספת תמיכה במצבי קשת למעלה וקשת למטה Arc.Above ובמצבי קשת בלתי תלויים בכיוון Arc.Below אל MotionLayout (I184a9)
  • עכשיו אפשר להגביל מודעת עוגן בסיסית למודעות עוגן בחלק העליון או התחתון של המסך, ולהיפך. (I54628)
  • השם של MotionLayoutScope#motionProperties (כולל נגזרות) שונה ל-MotionLayoutScope#customProperties. הסיבה לכך היא עקביות עם הגדרת מאפיינים מותאמים אישית. (Ib34c9)
  • עכשיו אפשר ליצור כמה הפניות ב-ConstraintSet וב-MotionScene: val (box, text, button) = createRefsFor("box", "text","button"). אפשר להחיל אילוצים על כמה רכיבים באמצעות constrain(box, button, text). בתוך ConstrainScope, עכשיו אפשר להגדיר באופן אינטואיטיבי מאפיין קבוע באמצעות Dp.asDimension: width = 10.dp.asDimension. ‫(I021ec, ‏ Ia0960)
  • השיטות MotionScene() ו-Transition() הן עכשיו פונקציות לא ניתנות להגדרה. עכשיו אפשר להשוות בין האובייקטים מהפונקציות האלה (כולל ConstraintSet) בצורה תקינה. אפשר להשתמש ב-animateChanges = true ב-ConstraintLayout רק עם הפניה ConstraintSet אחת, בתנאי שאחד מהמאפיינים שלה השתנה בהרכבה מחדש. (I7d22e)

תיקוני באגים

  • תוקנה בעיה שבה ConstraintLayout תמיד הפעיל קומפוזיציה מחדש מיותרת נוספת כשבוצעו שינויים בפונקציות העזר. (Id83ad, ‏ b/222093277)
  • תיקון התנהגות כשמשתמשים ב-Intrinsics עם ConstraintLayout ו-MotionLayout. ‫(I487ae, ‏ b/220527863)
  • תיקון הבעיה שמונעת מדידה מחדש כשהתוכן משתנה. (Ibfe8a, b/219091179)

גרסה ‎1.1.0-alpha05

‫7 בדצמבר 2022

הגרסאות androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 ו-androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05 יוצאות לאור. גרסה ‎1.1.0-alpha05 מכילה את הקומיטים האלה.

תכונות חדשות

  • תמיכה ב-KeyAttributes מותאם אישית ב-DSL‏ (b94e748)
  • הצגת מאפייני הטיה ב-ConstrainScope (32625d0)
  • תמיכה בפרמטרים מותאמים אישית בשרשורים (72a2e9e)
  • הוספת בדיקות של ספריית Macrobenchmark ל-MotionLayout ב-Compose‏ (36f43bc)
  • מידע נוסף על שינויים בגרסה הקודמת של Compose זמין בדף הוויקי.

שינויים ב-API

  • היפוך הפרמטרים addConstraintSet ו-addTransition (152facc)

תיקוני באגים

  • תיקון שרשראות אופקיות (ed5f56e)

גרסה ‎1.1.0-alpha01

‫20 במאי 2022

androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01 משוחרר.

חשוב לציין ש-MotionLayout API הוא ניסיוני ונדרשת הסכמה לשימוש בו.

מידע נוסף זמין במאמר בנושא מה חדש ב-Compose 1.1.0-alpha01 ב-GitHub.

גרסה 2.2

גרסה 2.2.1

‫26 בפברואר 2025

androidx.constraintlayout:constraintlayout:2.2.1 משוחרר. גרסה 2.2.1 מכילה את הקומטים האלה.

External Contribution

  • תוקנה בעיה בתאימות בינארית בספרייה constraintlayout-core. תודה, Carlo Marinangeli! ‫(I8952e, ‏ b/376718273)

גרסה 2.2.0

‫30 באוקטובר 2024

androidx.constraintlayout:constraintlayout:2.2.0 משוחרר. גרסה 2.2.0 מכילה את ההתחייבויות האלה.

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

  • גרסת שחרור שווה ערך עם ספריית constraintlayout-core הבסיסית.

גרסה ‎2.2.0-rc01

‫16 באוקטובר 2024

androidx.constraintlayout:constraintlayout:2.2.0-rc01 משוחרר. גרסה ‎2.2.0-rc01 מכילה את הקומטים האלה.

גרסה ‎2.2.0-beta01

‫4 בספטמבר 2024

androidx.constraintlayout:constraintlayout:2.2.0-beta01 משוחרר. גרסה ‎2.2.0-beta01 מכילה את הקודים האלה.

גרסה ‎2.2.0-alpha14

‫7 באוגוסט 2024

androidx.constraintlayout:constraintlayout:2.2.0-alpha14 משוחרר. גרסה ‎2.2.0-alpha14 מכילה את הקומטים האלה.

גרסה ‎2.2.0-alpha13

‫4 באוקטובר 2023

הגרסה androidx.constraintlayout:constraintlayout:2.2.0-alpha13 יוצאת ללא שינויים. גרסה ‎2.2.0-alpha13 מכילה את הקומיטים האלה.

גרסה ‎2.2.0-alpha12

‫9 באוגוסט 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha12 משוחרר. גרסה ‎2.2.0-alpha12 מכילה את הקומיטים האלה.

גרסה ‎2.2.0-alpha11

‫26 ביולי 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha11 משוחרר. גרסה ‎2.2.0-alpha11 מכילה את הקומיטים האלה.

שינויים ב-API

  • הוספת שיטת setter כדי לאפשר למפתחים להגדיר את הערך של mInfiniteCarousel (I0a8ca) באופן פרוגרמטי

גרסה ‎2.2.0-alpha10

‫24 במאי 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha10 משוחרר. גרסה ‎2.2.0-alpha10 מכילה את הקומיטים האלה.

תיקוני באגים

  • תיקון קישור שבור של מסמך MotionLayout. (51cbe88)

גרסה ‎2.2.0-alpha09

‫22 במרץ 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha09 משוחרר. גרסה ‎2.2.0-alpha09 מכילה את הקומיטים האלה.

גרסה ‎2.2.0-alpha08

‫8 במרץ 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha08 משוחרר. גרסה ‎2.2.0-alpha08 מכילה את הקומיטים האלה.

גרסה ‎2.2.0-alpha07

‫8 בפברואר 2023

androidx.constraintlayout:constraintlayout:2.2.0-alpha07 משוחרר. גרסה ‎2.2.0-alpha07 מכילה את הקומיטים האלה.

תיקוני באגים

  • פתרון הבעיה 'חסר תוכן בדף'.ConstraintLayout (I82e25)

גרסה ‎2.2.0-alpha05

‫7 בדצמבר 2022

androidx.constraintlayout:constraintlayout:2.2.0-alpha05 משוחרר. גרסה ‎2.2.0-alpha05 מכילה את הקומיטים האלה.

תיקוני באגים

  • תיקון דליפה בקרוסלת התצוגה (eb67b82)

גרסה ‎2.2.0-alpha01

‫20 במאי 2022

androidx.constraintlayout:constraintlayout:2.2.0-alpha01 משוחרר.

כולל תצוגה מקדימה של הכלי החדש Grid.

מידע נוסף זמין במאמר בנושא מה חדש בגרסה 2.2.0-alpha01 ב-GitHub.

ConstraintLayout-compose 1.0

‫ConstraintLayout-compose 1.0 מספק פונקציות של ConstraintLayout ב-Jetpack פיתוח נייטיב.

גרסה 1.0.1

‫20 במאי 2022

androidx.constraintlayout:constraintlayout-compose:1.0.1 משוחרר.

חשוב לציין ש-MotionLayout API הוא ניסיוני ונדרשת הסכמה לשימוש בו.

מידע נוסף זמין במאמר בנושא מה חדש ב-Compose 1.0.1 ב-GitHub.

גרסה 1.0.0

‫13 בינואר 2022

androidx.constraintlayout:constraintlayout-compose:1.0.0 משוחרר.

שימו לב: ממשק ה-API של MotionLayout הוא עכשיו ניסיוני ונדרשת הסכמה לשימוש בו.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 1.0 (Compose).

גרסה ‎1.0.0-rc02

‫16 בנובמבר 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02 משוחרר.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 1.0 (Compose).

גרסה ‎1.0.0-rc01

27 בספטמבר 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 משוחרר.

זו גרסת הבטא השנייה. היא נחשבת לגרסה מלאה, ומספקת ConstraintLayout ו-MotionLayout לניסוח.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 1.0 (Compose).

גרסה ‎1.0.0-beta02

30 ביולי 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02 משוחרר.

זו גרסת הבטא השנייה. היא נחשבת לגרסה מלאה, ומספקת ConstraintLayout ו-MotionLayout לניסוח.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 1.0 (Compose).

גרסה ‎1.0.0-beta01

‫22 ביולי 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01 משוחרר.

הגרסה הזו היא גרסת הבטא הראשונה. היא נחשבת לגרסה מלאה, ומספקת ConstraintLayout ו-MotionLayout לניסוח.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 1.0 (Compose).

גרסה ‎1.0.0-alpha07

‫18 במאי 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07 משוחרר.

  • העדכון בוצע כדי שתהיה תאימות לגרסה 1.0.0-beta07 של Compose.

גרסה ‎1.0.0-alpha06

4 במאי 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06 משוחרר.

  • אופטימיזציה של קומפוזיציה: קומפוננטה מוטמעת של Constraintlayout‏ (#193)
  • צמצום המדידות החוזרות בכתיבה (#210)

גרסה ‎1.0.0-alpha05

‫15 במרץ 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05 משוחרר.

  • כולל תיקון למנוע האופטימיזציה (b/182657720)
  • הוספת פרמטר optimizationLevel לרכיב ConstraintLayout שאפשר להרכיב

גרסה ‎1.0.0-alpha04

‫11 במרץ 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04 משוחרר.

עדכון לשימוש במנוע העדכני ביותר של constraintlayout-core

גרסה ‎1.0.0-alpha03

24 בפברואר 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03 משוחרר.

עדכון גרסה לגרסת בטא01 של Jetpack פיתוח נייטיב

גרסה ‎1.0.0-alpha02

10 בפברואר 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02 משוחרר.

עדכון גרסה לגרסה אלפא 12 של Jetpack פיתוח נייטיב

גרסה 1.0.0-alpha01

2 בפברואר 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 משוחרר.

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

גרסה 2.1

‫ConstraintLayout 2.1.0 מספק תכונות עשירות יותר ב-MotionLayout ועוזרים חדשים (Carousel וכו')

גרסה 2.1.4

‫20 במאי 2022

androidx.constraintlayout:constraintlayout:2.1.4 משוחרר.

מידע נוסף זמין במאמר בנושא מה חדש בגרסה 2.1.4 ב-GitHub.

גרסה 2.1.3

‫13 בינואר 2022

androidx.constraintlayout:constraintlayout:2.1.3 משוחרר.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 2.1.

גרסה 2.1.2

‫16 בנובמבר 2021

androidx.constraintlayout:constraintlayout:2.1.2 משוחרר.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 2.1.

גרסה 2.1.1

27 בספטמבר 2021

androidx.constraintlayout:constraintlayout:2.1.1 משוחרר.

זו הגרסה הסופית של 2.1.1.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 2.1.

גרסה 2.1.0

30 ביולי 2021

androidx.constraintlayout:constraintlayout:2.1.0 משוחרר.

זו הגרסה הסופית של 2.1.0.

מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 2.1.

גרסה ‎2.1.0-rc01

‫22 ביולי 2021

androidx.constraintlayout:constraintlayout:2.1.0-rc01 משוחרר.

זוהי גרסת המועמדת להשקה של 2.1.0, שכוללת שיפורים ותיקונים קלים מהגרסה האחרונה של הבטא. מידע נוסף זמין במאמר ב-GitHub בנושא מה חדש בגרסה 2.1.

גרסה ‎2.1.0-beta02

4 במאי 2021

androidx.constraintlayout:constraintlayout:2.1.0-beta02 משוחרר.

כמה תכונות חדשות ב-MotionLayout:

  • שיפור של החלקה כולל קפיצה (קשיחות, שיכוך, מסה וכו') ואי-השלמה של ההחלקה
  • הפונקציה jumpToState
  • מצב ViewTransition downUp שבו בהקשה למטה ההפעלה מגיעה ל-100 ובהקשה למעלה היא מתהפכת ל-0

תיקנו באגים שונים, כולל:

  • תיקון בעיה ב-MotionLayout עם גלילה אנכית (#173)
  • שיפורים בביצועים ב-MotionLayout מוטבע (#189)
  • מעבר מהיר עם NestedScrollView ב-MotionLayout‏ (#189)
  • ‫ConstraintSet נעלם ב-MotionLayout (#189)
  • תמיכה במעברי תצוגה מלמטה למעלה ב-MotionLayout ‏ (#190)
  • תיקון ב-ImageFilter כשמשתמשים מחדש ב-drawables‏ (#192)
  • הוספת תמיכה בקפיץ ב-MotionLayout‏ (#199)
  • שיפור הביצועים של CircularFlow (#200)
  • תיקונים באילוצים נגזרים / ביטול אילוצים (#212)

גרסה ‎2.1.0-beta01

‫11 במרץ 2021

androidx.constraintlayout:constraintlayout:2.1.0-beta01 משוחרר.

ConstraintLayout

המאפיינים android:layout_width ו-android:layout_height כבר לא אופציונליים בגלל בעיות תאימות.

MotionLayout

  • תמיכה בתכנות להוספה ולהסרה של onSwipe ו-onClick במעברים
  • תמיכה ניסיונית במעברים באמצעות סיבוב המסך
  • הוספת ארגומנט של משך התמיכה למעברים
  • תמיכה משופרת במאפייני customAttributes מסוג boolean או References

Helpers

  • הוספנו דרך להנפשה או למעבר ישירות לפריט נתון בקרוסלה
  • עוזר חדש ל-CircularFlow

מידע נוסף על הגרסה הזו זמין כאן וכאן.

גרסה ‎2.1.0-alpha2

17 בדצמבר 2020

androidx.constraintlayout:constraintlayout:2.1.0-alpha2 משוחרר.

בגרסת האלפא השנייה נוספו כמה תכונות חדשות:

ConstraintLayout

  • המאפיינים android:layout_width ו-android:layout_height הם עכשיו אופציונליים, וההתנהגות שמוגדרת כברירת מחדל היא wrap_content
  • מאפיינים חדשים layout_constraintWidth ו-layout_constraintHeight לציון אילוצים של מידות
  • תמיכה בשוליים שליליים לאילוצים
  • תומך באילוצים של קו בסיס לחלק העליון וקו בסיס לחלק התחתון
  • תומכת במגבלות של שולי רווח בסיסי
  • התכונה SharedValues מאפשרת להוסיף ערכים חיצוניים ל-ConstraintLayout

MotionLayout

  • תמיכה באינטרפולטורים של חריגה (ציפייה, חריגה)
  • תמיכה משופרת ב-MotionHelper
  • הוספת עדכון אנימציה של ConstraintSet ל-MotionLayout updateStateAnimate(id,cset,duration);
  • ‫ViewTransition מבוסס-ערך משותף
  • ‫scheduleTransiton כדי להוסיף לתור מעבר שיפעל בסיום המעבר הנוכחי.

Helpers

  • עכשיו יש תמיכה בקרוסלה במצב אינסופי (הקרוסלה חוזרת לתחילתה אחרי שמגיעים לסוף)
  • ‫ReactiveGuide : קו הנחיה שמשנה את המיקום שלו באופן אוטומטי כשמשתנה SharedValue
  • MotionEffect : inject Keyframes to referenced views moving in a given direction
  • ‫MotionLabel – תצוגה להנפשת טקסט בשורה אחת

מידע נוסף על הגרסה הזו זמין כאן.

גרסה ‎2.1.0-alpha1

‫19 בנובמבר 2020

androidx.constraintlayout:constraintlayout:2.1.0-alpha1 משוחרר.

גרסת האלפא הראשונה של גרסה 2.1. נוספה תמיכה ב:

  • כלי עזר לתנועת קרוסלה, ליצירת תצוגות קרוסלה בהתאמה אישית
  • תמיכה בסצנות של MotionLayout כוללת החלפה של אילוצים
  • ‫MotionLayout מוסיף תמיכה עשירה יותר בסיבוב (קלט ופלט)
  • ‫MotionLayout מוסיף ViewTransitions, שמאפשר מעברים בין תצוגות יחידות לשינוי של constraintsets

מידע נוסף על הגרסה הזו זמין כאן.

גרסה 2.0

‫ConstraintLayout 2.0 מוסיף תכונות חדשות לפריסות (פריסות וירטואליות וכו') ומחלקה חדשה לפשט את האנימציה של תצוגות, MotionLayout.

גרסה 2.0.4

‫29 באוקטובר 2020

androidx.constraintlayout:constraintlayout:2.0.4 משוחרר.

תיקוני באגים

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

כאן אפשר לראות את רשימת הבעיות שנסגרו.

גרסה 2.0.3

‫27 באוקטובר 2020

androidx.constraintlayout:constraintlayout:2.0.3 משוחרר.

תיקוני באגים

בגרסה הזו תוקנו כמה בעיות. מומלץ לעדכן לגרסה הזו.

  • טיפול ב-Windows insets
  • טיפול ביחס הממדים במצבים מסוימים
  • קריסה בפריסות מסוימות מימין לשמאל

כאן אפשר לראות את רשימת הבעיות שנסגרו.

גרסה 2.0.2

‫6 באוקטובר 2020

androidx.constraintlayout:constraintlayout:2.0.2 משוחרר.

תיקוני באגים

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

  • במקרים מסוימים, הטיפול בערך GONE של מאפיין החשיפה של תצוגה ב-ConstraintLayout היה שגוי
  • במקרים מסוימים, הטיפול בשרשראות דחוסות ב-ConstraintLayout היה שגוי
  • תוקן חריג אינפלציה ב-API 15 עבור כלי העזר לפריסה וירטואלית של Flow
  • הפונקציה limitsBoundsTo לא פעלה ב-MotionLayout
  • המעבר לסוף היה שבור ב-MotionLayout במצבים מסוימים (מעברים בשרשרת)

כאן אפשר לראות את רשימת הבעיות שנסגרו.

גרסה 2.0.1

‫25 באוגוסט 2020

androidx.constraintlayout:constraintlayout:2.0.1 משוחרר.

זהו עדכון קל שמאפשר שימוש ב-MotionEditor ב-Android Studio.

גרסה 2.0.0

21 באוגוסט 2020

androidx.constraintlayout:constraintlayout:2.0.0 משוחרר.

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.

התיקונים הבולטים הם:

  • תיקונים של TransitionListener ושל השהיות במעברים ב-MotionLayout
  • תיקונים ב-ConstraintLayout flow וב-barrier

גרסה 2.0.0-rc1

29 ביולי 2020

androidx.constraintlayout:constraintlayout:2.0.0-rc1 משוחרר.

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.

התיקונים הבולטים הם:

  • תיקונים ב-Flow
  • תיקונים ב-RecyclerView (מומלץ לעדכן ל-RecyclerView 1.2.0 אלפא 5 ואילך)
  • תיקונים ב-MotionLayout TransitionListener
  • MotionLayout memory leak fix

גרסה ‎2.0.0-beta8

‫7 ביולי 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta8 משוחרר.

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.

התיקונים הבולטים הם:

  • התנהגות של placeholder
  • הצגה/הסתרה של שכבה
  • תיקונים ב-Flow וב-Barrier
  • תיקונים ב-TransitionListener

גרסה ‎2.0.0-beta7

‫12 ביוני 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta7 משוחרר.

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.

התיקונים הבולטים הם:

  • בעיות בתצוגת גלילה מוטמעת ב-MotionLayout
  • בעיות ב-listener של מעברים ב-MotionLayout
  • דליפת זיכרון ב-MotionLayout
  • בעיות ב-RecyclerView
  • מצב החשיפה של הקבוצה
  • בעיות שקשורות לריווח

גרסה ‎2.0.0-beta6

‫13 במאי 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta6 משוחרר.

תיקוני באגים

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

גרסה ‎2.0.0-beta5

7 במאי 2020

androidx.constraintlayout:constraintlayout:2.0.0-beta5 משוחרר.

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.

גרסה ‎2.0.0-beta4

16 בדצמבר 2019

androidx.constraintlayout:constraintlayout:2.0.0-beta4 משוחרר.

תכונות חדשות

MotionLayout

מאפיינים חדשים במעבר:

  • layoutDuringTransition : מאפשרת להגדיר איך MotionLayout צריך להגיב לקריאות של ילדים ל-requestLayout במהלך מעבר. הערכים האפשריים הם {ignoreRequest, honorRequest}
  • ‫pathMotionArc : הנתיב שבו האלמנטים נעים יהיה קשת. הערכים האפשריים הם {startVertical | startHorizontal | flip | none }

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

תיקוני באגים

כאן אפשר לראות את רשימת הבעיות שנסגרו.