Constraintlayout

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

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

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

إعلان التبعيات

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

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

Groovy

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

Kotlin

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

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

ملاحظات

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

إنشاء عدد جديد

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

ConstraintLayout-compose وConstraintLayout-Core 1.1

الإصدار 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 لاستيعاب التعريف الموسّع لهذه المصادر التي تتضمن الآن الصور المتحركة (التأثير الجانبي) وعجلة الماوس ولوحة المفاتيح (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 إلى النقل 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 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 على هذه المراجعات.

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

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

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

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

  • إصلاح تسرُّب في لوحة العرض الدوّارة للملف الشخصي (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 1.0 وظائف 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 (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 (الإنشاء).

الإصدار 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 2.1.0 ميزات أكثر فائدة في 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 mode where on touch Down it plays to 100 and on up reverses to 0

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

  • حلّ مشكلة في 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.

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

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

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

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

الإصدار 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
  • تدفق contraintLayout وإصلاحات الحواجز

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

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

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

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