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.0-beta01"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.0-beta01")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01")
}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين 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 على عمليات الربط هذه.

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

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

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

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

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

  • تمّت إضافة عمليات التحقّق من الأخطاء لاقتراح استخدام Dimension.percent(1f) وLayoutReference.withChainParams() في الحالات التي قد تؤدي فيها الأنماط المعتادة إلى سلوك غير متوقّع. (I62eb0 وI03060)

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

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

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

  • إضافة واجهات برمجة تطبيقات جديدة لتفعيل "مساعِد الشبكة" في ميزة "الإنشاء" باستخدام لغة وصف البيانات (I1143b)

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

  • تم إصلاح Wrap.Chain بسبب عدم عرض مسار الإحالة الناجحة بشكل صحيح للمَعلمة 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 على هذه المراجعات.

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

  • إضافة واجهات برمجة تطبيقات جديدة لتفعيل "مساعِد الشبكة" في ميزة "الإنشاء" باستخدام تمثيل 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 واحد فقط، ما دام أيّ من سمات animateChanges = true قد تغيّرت عند إعادة التركيب. (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 المخصّصة في لغة وصف البيانات (b94e748)
  • سمات التحيز على السطح في ConstrainScope (32625d0)
  • السماح بالمَعلمات المخصّصة في السلاسل (72a2e9e)
  • إضافة اختبارات Macrobenchmark لـ MotionLayout في Compose (36f43bc)
  • لمزيد من المعلومات عن التغييرات في الإصدار السابق من تطبيق Compose، يُرجى الاطّلاع على صفحة الموسوعة على الإنترنت.

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

  • قلب المَعلمتَين addConstraintSet وaddTransition (152facc)

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

  • حلّ مشكلة السلاسل الأفقية (ed5f56e)

الإصدار 1.1.0-alpha01

20 أيار (مايو) 2022

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

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

لمزيد من المعلومات، اطّلِع على الميزات الجديدة في الإصدار 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 على هذه المراجعات.

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

  • أضِف طريقة ضبط للسماح للمطوّرين بضبط قيمة 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

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

الإصدار 1.0.1

20 أيار (مايو) 2022

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.1.

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

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

الإصدار 1.0.0

13 كانون الثاني (يناير) 2022

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0.

يُرجى العِلم أنّ واجهة برمجة التطبيقات MotionLayout api تجريبية حاليًا وتتطلّب الموافقة.

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة GitHub الميزات الجديدة في الإصدار 1.0 (الإنشاء).

الإصدار 1.0.0-rc02

16 تشرين الثاني (نوفمبر) 2021

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02.

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة GitHub الميزات الجديدة في الإصدار 1.0 (الإنشاء).

الإصدار 1.0.0-rc01

27 أيلول (سبتمبر) 2021

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01.

هذا الإصدار هو الإصدار التجريبي الثاني. ويُعدّ هذا الإصدار مكتملاً من الناحية الوظيفية، حيث يقدّم رمزَي ConstraintLayout وMotionLayout لميزة "الكتابة".

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة GitHub الميزات الجديدة في الإصدار 1.0 (الإنشاء).

الإصدار 1.0.0-beta02

30 تموز (يوليو) 2021

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02.

هذا الإصدار هو الإصدار التجريبي الثاني. ويُعدّ هذا الإصدار مكتملاً من حيث الميزة، حيث يقدّم رمزَي ConstraintLayout وMotionLayout لميزة "الكتابة".

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة GitHub الميزات الجديدة في الإصدار 1.0 (الإنشاء).

الإصدار 1.0.0-beta01

22 تموز (يوليو) 2021

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01.

هذا الإصدار هو الإصدار التجريبي الأول. ويُعدّ هذا الإصدار مكتملاً من حيث الميزة، حيث يقدّم رمزَي ConstraintLayout وMotionLayout لميزة "الكتابة".

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة GitHub الميزات الجديدة في الإصدار 1.0 (الإنشاء).

الإصدار 1.0.0-alpha07

18 أيار (مايو) 2021

تم إصدار androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07.

  • تم تعديلها لتصبح متوافقة مع الإصدار 1.0.0-beta07 من تطبيق "الإنشاء".

الإصدار 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.

تحديث بشأن إصدار Jetpack Compose beta01

الإصدار 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.

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

الإصدار 2.1

يوفّر الإصدار 2.1.0 من ConstraintLayout ميزات أكثر تنوعًا في MotionLayout وأدوات مساعدة جديدة (مثل لوحة العرض الدوّارة وما إلى ذلك).

الإصدار 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 عند لمس Down ويتم عكسه إلى 0 عند لمس Up

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

  • حلّ مشكلة في MotionLayout مع الانتقال العمودي (#173)
  • تحسينات على الأداء في MotionLayout المتداخلة (#189)
  • انتقال سريع باستخدام NestedScrollView في MotionLayout (#189)
  • اختفاء ConstraintSet في MotionLayout‏ (#189)
  • إتاحة انتقالات العرض downUp في 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 المستنِد إلى القيمة المشتركة
  • scheduleTransiton للسماح لك بإضافة انتقال إلى "قائمة الانتظار" لتشغيله عند اكتمال الانتقال الحالي

المساعِدون

  • تتيح الآن لوحة العرض الدوّارة وضعًا لا نهائيًا (ينتقل إلى أعلى الصفحة).
  • ReactiveGuide : إرشادات تضبط موقعها تلقائيًا عند تغيير SharedValue
  • تأثير الحركة : إدراج لقطات رئيسية في المشاهد المُشار إليها التي تتحرك في اتجاه معيّن
  • MotionLabel: عرض لإضافة تأثيرات متحركة إلى سطر نصي واحد

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

الإصدار 2.1.0-alpha1

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

تم إصدار androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

أول إصدار أوّلي من الإصدار 2.1 إتاحة استخدام:

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

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

الإصدار ‎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.

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

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

  • معالجة النوافذ المُدمجة
  • التعامل مع نسبة الأبعاد في بعض الحالات
  • تعطُّل بعض التنسيقات من اليمين إلى اليسار

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

الإصدار 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.

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

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

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

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

الإصدار 2.0.0-beta8

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

تم إصدار androidx.constraintlayout:constraintlayout:2.0.0-beta8.

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

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

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

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

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

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

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