Constraintlayout

يمكنك وضع التطبيقات المصغّرة وتحديد حجمها بطريقة مرنة باستخدام تحديد الموضع النسبي.

يسرد هذا الجدول جميع العناصر في المجموعة androidx.constraintlayout.

العناصر الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
constraintlayout 2.2.1 - - -
constraintlayout-compose 1.1.1 - - -
constraintlayout-core 1.1.1 - - -

تحديد الاعتماديات

لإضافة اعتمادية على ConstraintLayout، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

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")
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

‫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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • يتم الآن توفير العلامات بشكل فردي من خلال العنصر المرافق ويمكن دمجها مع عامل التشغيل or. (I9df53)
  • أدوات مساعدة مبسطة في createRow وcreateColumn تم تحسين أسماء المَعلمات createGrid والمستندات لتوضيحها بشكل أكبر. (Iebc92)
  • تم تبسيط واجهة برمجة التطبيقات animateChanges في ConstraintLayout لتتطلّب فقط قيمة AnimationSpec غير فارغة. أصبحت onIncomingConstraints في InvalidationStrategy الآن دالة lambda عادية. تمت إعادة تسمية fixedWidthRate إلى shouldInvalidateOnFixedWith، وينطبق الأمر نفسه على خيار المنتج "الارتفاع". (Ie59cd، b/332898040، b/336370035)
  • سيتم استبدال مصادر NestedScroll "السحب والإفلات" بمصادر 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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة 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)، وعند إجراء تغيير على لغة النطاق الخاص بالمعالجة (DSL) الخاصة بالقيود، سيتم تلقائيًا تحريك ConstraintLayout إلى تلك الحالة الجديدة. (I9abf1)
  • تم تفعيل وظيفة "limitBoundsTo" على OnSwipe. (I56522)

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية TransitionScope.staggered إلى TransitionScope.maxStaggerDelay. (I0fd2d)

إصلاح الأخطاء

  • تم إصلاح مشكلة عدم عمل المَعلمة dragScale من OnSwipe. (8bef26)
  • تم إصلاح مشكلة عدم عمل customColor في MotionScene بشكلٍ سليم مع الألوان الشفافة. (81b2ac)
  • تم إصلاح مشكلة عدم إعلان 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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • لم يعُد MotionLayout Api تجريبيًا، ويمثّل المجموعة الأولية من واجهات برمجة التطبيقات الثابتة لـ MotionLayout. (I288f4)
  • تمت إزالة MotionLayoutState. (Id3ac1)
  • يمكنك الآن استخدام DebugFlags لتصحيح الأخطاء المرئية: DebugFlags(showBounds = true). (Ic714b)
  • تم تغيير متغيّر الإضافة Dp.asDimension إلى طريقة: Dp.asDimension(). (I2d6ef)
  • أصبحت ميزة "التأخير" متاحة الآن في لغة MotionLayout، ويمكنك تحديد الحد الأقصى للتأخير باستخدام TransitionScope.staggered، كما يمكنك استخدام ConstrainScope.staggeredWeight (ضمن MotionSceneScope) للحصول على ترتيب مخصّص للتأخير. (I70275)
  • تم إجراء تغييران على أداة Grid المساعدة: 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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • لم يعُد Modifier.intermediateLayout يتطلّب LookaheadScope صريحًا. يحتوي مقياس الحظر في intermediateLayout على IntermediateMeasureScope كمستقبِل، ما يوفّر CoroutineScope وLookaheadScope وMeasureScope بسهولة.
  • تم استبدال LookaheadLayout بـ LookaheadScope، ولم يعُد 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)

تغييرات واجهة برمجة التطبيقات

  • فعِّل العلامتَين ReverseSpanDirection وSpansOrderFirst لـ "أداة مساعدة الشبكة" في Compose.
    1. ReverseSpanDirection: لعكس مواصفات العرض والارتفاع للنطاقات/عمليات التخطّي
    2. ستراعي الفترات ترتيب الأدوات.SpansOrderFirst (I6ad50)
  • استخدِم Modifier.onStartEndBoundsChanged(...) للحصول على الحدود المحلية لعناصر Composables في MotionLayout التي لا تتأثر بالرسوم المتحركة. مفيدة لأي تفاعل مع واجهة المستخدم يتطلّب معلومات التنسيق التي قد تؤدي أيضًا إلى تشغيل الرسوم المتحركة، مثل DragAndDrop. (I6b5f9)
  • تفعيل عمليات التخطّي والنطاقات في "أداة مساعدة الشبكة" في Compose (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 هذه التعديلات.

الميزات الجديدة

  • إضافة واجهات برمجة تطبيقات جديدة لتفعيل 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 هذه التعديلات.

الميزات الجديدة

  • أضِف واجهات برمجة تطبيقات جديدة لتفعيل "أداة Grid Helper" في Compose مع تمثيل JSON الذي يتيح وضع العناصر القابلة للإنشاء في شبكة ثنائية الأبعاد. (I968ad)

تغييرات واجهة برمجة التطبيقات

  • إضافة دعم لوضعَي الانحناء للأعلى 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، اطّلِع على صفحة Wiki.

تغييرات واجهة برمجة التطبيقات

  • المَعلمتان Flip addConstraintSet وaddTransition (152facc)

إصلاح الأخطاء

  • إصلاح السلاسل الأفقية (ed5f56e)

الإصدار 1.1.0-alpha01

‫20 مايو 2022

تم طرح androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

يُرجى العِلم أنّ واجهة برمجة التطبيقات MotionLayout تجريبية وتتطلّب الموافقة على استخدامها.

لمزيد من المعلومات، اطّلِع على الميزات الجديدة في الإصدار 1.1.0-alpha01 من Compose على GitHub.

الإصدار 2.2

الإصدار 2.2.1

‫26 فبراير 2025

تم طرح androidx.constraintlayout:constraintlayout:2.2.1. يتضمّن الإصدار 2.2.1 هذه التعديلات.

المساهمة الخارجية

  • إصلاح مشكلة في التوافق الثنائي من مكتبة constraintlayout-core شكرًا "كارلو مارينانجيلي". (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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • أضِف طريقة 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 هذه التعديلات.

  • لمزيد من المعلومات حول التغييرات في الإصدار السابق، يُرجى الاطّلاع على صفحة Github wiki.

إصلاح الأخطاء

  • إصلاح تسريب في "لوحة العرض الدوّارة" (eb67b82)

الإصدار 2.2.0-alpha01

‫20 مايو 2022

تم طرح androidx.constraintlayout:constraintlayout:2.2.0-alpha01.

يتضمّن معاينة Grid المساعد الجديد.

لمزيد من المعلومات، اطّلِع على الميزات الجديدة في الإصدار 2.2.0-alpha01 على GitHub.

ConstraintLayout-compose 1.0

يوفّر الإصدار 1.0 من ConstraintLayout-compose وظائف ConstraintLayout في Jetpack Compose.

الإصدار 1.0.1

‫20 مايو 2022

تم طرح androidx.constraintlayout:constraintlayout-compose:1.0.1.

يُرجى العِلم أنّ واجهة برمجة التطبيقات MotionLayout تجريبية وتتطلّب الموافقة على استخدامها.

لمزيد من المعلومات، اطّلِع على الميزات الجديدة في الإصدار 1.0.1 من Compose على GitHub.

الإصدار 1.0.0

‫13 يناير 2022

تم طرح androidx.constraintlayout:constraintlayout-compose:1.0.0.

يُرجى العِلم أنّ واجهة برمجة التطبيقات 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)
  • تقليل عمليات إعادة القياس في Compose (#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.

إصدار تحديث لإصدار beta01 من Jetpack Compose

الإصدار ‎1.0.0-alpha02

10 شباط (فبراير) 2021

تم طرح androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02.

إصدار جديد من Jetpack Compose alpha12

الإصدار ‎1.0.0-alpha01

‫2 شباط (فبراير) 2021

تم طرح androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01.

الإصدار الأول من المكتبة، الذي يوفّر لغات خاصة بالمجال (DSL) مضمّنة وخارجية للتعبير عن القيود

الإصدار 2.1

يوفر الإصدار 2.1.0 من ConstraintLayout ميزات أكثر ثراءً في 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:

  • تحسين OnSwipe بما في ذلك الزنبرك (الصلابة والتخميد والكتلة وما إلى ذلك) وعدم الاكتمال أبدًا
  • الدالة jumpToState
  • وضع ViewTransition downUp حيث يتم التشغيل بنسبة %100 عند الضغط مع الاستمرار، ثم يتم الرجوع إلى %0 عند رفع الإصبع

إصلاحات متنوّعة، وأبرزها:

  • حلّ مشكلة في MotionLayout تتعلّق بالتمرير العمودي (#173)
  • تحسينات الأداء على MotionLayout المتداخلة (#189)
  • انتقال سريع باستخدام NestedScrollView في MotionLayout (#189)
  • تمت إزالة ConstraintSet في MotionLayout (#189)
  • إتاحة downUp ViewTransitions في MotionLayout (#190)
  • إصلاح في ImageFilter عند إعادة استخدام عناصر قابلة للرسم (#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 التي تكون قيمتها منطقية أو مراجع

المساعدون

  • تمت إضافة طريقة لتحريك عنصر معيّن في لوحة العرض الدوّارة أو الانتقال إليه مباشرةً
  • فئة مساعدة جديدة باسم 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 المستند إلى القيمة المشتركة
  • scheduleTransitonTo للسماح لك بوضع انتقال في قائمة الانتظار ليتم تنفيذه عند اكتمال الانتقال الحالي.

المساعدون

  • تتيح منصة العرض الدوّارة الآن وضعًا لا نهائيًا (التفاف)
  • ReactiveGuide : دليل إرشادي يضبط موضعه تلقائيًا عند تغيُّر SharedValue
  • ‫MotionEffect : إدخال إطارات مفتاحية إلى طرق العرض المُشار إليها التي تتحرّك في اتجاه معيّن
  • MotionLabel - A View for animating single line text

يمكنك الاطّلاع على معلومات إضافية حول هذا الإصدار هنا.

الإصدار 2.1.0-alpha1

‫19 تشرين الثاني (نوفمبر) 2020

تم طرح androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

الإصدار الأوّل من الإصدار التجريبي 2.1. تتضمّن هذه الإصدارات ما يلي:

  • أداة مساعدة في حركة لوحة العرض الدوّارة لإنشاء طرق عرض مخصّصة للوحات العرض الدوّارة
  • تتضمّن مشاهد MotionLayout إمكانية تضمين عناصر وتجاوز القيود
  • توفّر MotionLayout إمكانات أفضل للتدوير (الإدخال والإخراج)
  • تضيف MotionLayout السمة ViewTransitions، ما يتيح عمليات انتقال لعرض واحد عند تغيير مجموعات القيود.

يمكنك الاطّلاع على معلومات إضافية عن هذا الإصدار هنا.

الإصدار ‎2.0

يضيف الإصدار 2.0 من ConstraintLayout ميزات جديدة للتنسيقات (التنسيقات الافتراضية وما إلى ذلك) وفئة جديدة لتسهيل تحريك طرق العرض، وهي 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
  • التعامل مع نسبة العرض إلى الارتفاع في بعض الحالات
  • تعطُّل التطبيق عند استخدام بعض تنسيقات العرض من اليمين إلى اليسار

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

الإصدار 2.0.2

‫6 أكتوبر 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.2.

إصلاح الأخطاء

يعمل هذا الإصدار على تحسين الأداء وإصلاح بعض المشاكل. ننصحك بالتحديث إلى هذا الإصدار.

  • كانت طريقة التعامل مع حالة العرض GONE غير صحيحة في ConstraintLayout في بعض الحالات
  • كانت طريقة التعامل مع السلاسل المضغوطة في ConstraintLayout غير صحيحة في بعض الحالات
  • تم إصلاح خطأ التضخّم في الإصدار 15 من واجهة برمجة التطبيقات لأداة المساعدة في التنسيق الافتراضي Flow
  • تعذّر استخدام limitsBoundsTo في MotionLayout
  • كانت وظيفة الانتقال إلى النهاية لا تعمل في MotionLayout في بعض الحالات (عمليات الانتقال المتسلسلة)

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

الإصدار 2.0.1

25 آب (أغسطس) 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.1.

هذا تحديث بسيط يتيح استخدام MotionEditor في "استوديو Android".

الإصدار 2.0.0

21 آب (أغسطس) 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.0.

إصلاح الأخطاء

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

تشمل الإصلاحات البارزة ما يلي:

  • إصلاحات في تأخيرات الانتقال في MotionLayout وTransitionListener
  • إصلاحات في ميزة "التدفق" و"الحاجز" في ConstraintLayout

الإصدار 2.0.0-rc1

‫29 تموز (يوليو) 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.0-rc1.

إصلاح الأخطاء

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

تشمل الإصلاحات البارزة ما يلي:

  • إصلاحات في Flow
  • إصلاحات RecyclerView (ننصحك بالتحديث إلى الإصدار 1.2.0 alpha 5 أو إصدار أحدث)
  • إصلاحات في MotionLayout TransitionListener
  • إصلاح مشكلة تسرّب الذاكرة في MotionLayout

الإصدار ‎2.0.0-beta8

‫7 تموز (يوليو) 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.0-beta8.

إصلاح الأخطاء

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

تشمل الإصلاحات البارزة ما يلي:

  • سلوك العنصر النائب
  • مستوى رؤية الطبقة
  • إصلاحات في Flow وBarrier
  • إصلاحات TransitionListener

الإصدار ‎2.0.0-beta7

‫12 يونيو 2020

تم طرح androidx.constraintlayout:constraintlayout:2.0.0-beta7.

إصلاح الأخطاء

يمكنك الاطّلاع على قائمة بالمشاكل التي تم حلّها هنا.

تشمل الإصلاحات البارزة ما يلي:

  • مشاكل في عرض التمرير المتداخل في MotionLayout
  • مشاكل في أداة معالجة الانتقال مع 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 مع طلبات layout التي يرسلها العناصر الفرعية أثناء عملية الانتقال. القيم المحتمَلة هي {ignoreRequest, honorRequest}
  • ‫pathMotionArc : سيستخدم المسار الذي تسلكه العناصر المتحركة قوسًا. القيم المحتملة هي {startVertical | startHorizontal | flip | none }

يمكن الآن تحديد انتقال تلقائي، وذلك ببساطة عن طريق حذف ConstraintSets للبدء والانتهاء. سيتم استخدام الانتقال التلقائي في حال عدم العثور على أي انتقال حالي آخر يتطابق مع حالات البدء/الانتهاء الحالية.

إصلاح الأخطاء

يمكنك الاطّلاع على قائمة بالمشاكل التي تم إغلاقها هنا.