Constraintlayout
androidx.constraintlayout.widget
يسرد هذا الجدول جميع العناصر في المجموعة 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 لكل من
ConstraintLayoutComposable و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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لم يعُد
MotionLayoutApi تجريبيًا، ويمثّل المجموعة الأولية من واجهات برمجة التطبيقات الثابتة لـ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.ReverseSpanDirection: لعكس مواصفات العرض والارتفاع للنطاقات/عمليات التخطّي- ستراعي الفترات ترتيب الأدوات.
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) - تم إصلاح مشكلة عدم تعديل
startConstraintSetعند تغيير "الانتقال" من خلال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 للبدء والانتهاء. سيتم استخدام الانتقال التلقائي في حال عدم العثور على أي انتقال حالي آخر يتطابق مع حالات البدء/الانتهاء الحالية.
إصلاح الأخطاء
يمكنك الاطّلاع على قائمة بالمشاكل التي تم إغلاقها هنا.