إنشاء صورة متحركة

إنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
11 كانون الأول (ديسمبر) 2024 1.7.6 - - 1.8.0-alpha07

البنية

Compose هي مجموعة من 7 معرّفات مجموعات Maven ضمن androidx. تحتوي كل مجموعة على مجموعة فرعية مستهدفة من الوظائف، ولكل مجموعة مجموعة خاصة بها من ملاحظات الإصدار.

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

مجموعةالوصف
compose.animationإنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم
compose.compilerحوِّل دوالّ @Composable وفعِّل التحسينات باستخدام مكوّن إضافي لمجمّع لغة Kotlin.
compose.foundationيمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع الأساس لإنشاء أجزاء نظام التصميم الخاص بك.
compose.materialأنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design الجاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في أداة "الإنشاء"، وهي مصمّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة على www.material.io.
compose.material3أنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design 3، وهي الإصدار التالي من Material Design. يتضمّن Material 3 ميزات تخصيص Material You، مثل الألوان الديناميكية، وتصميمًا جديدًا للعناصر والمظاهر، وهو مصمّم ليتوافق مع التصميم المرئي الجديد لنظام Android 12 وواجهة مستخدم النظام.
compose.runtimeالوحدات الأساسية لنموذج البرمجة وإدارة الحالة في Compose، ووقت التشغيل الأساسي الذي يستهدفه مكوّن Compose Compiler الإضافي
compose.uiالمكونات الأساسية لواجهة المستخدم الخاصة بإنشاء الرسائل اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال

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

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

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

رائع

dependencies {
    implementation "androidx.compose.animation:animation:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.7.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

ملاحظات

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

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

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

الإصدار 1.8

الإصدار 1.8.0-alpha07

11 كانون الأول (ديسمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha07. يتضمّن الإصدار 1.8.0-alpha07 عمليات الربط هذه.

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

  • تتيح هذه الميزة ميزة "النظر إلى المستقبل" في Pager، وذلك من خلال التمييز بين تمريرة "النظر إلى المستقبل" وتمريرة "الاقتراب" للاحتفاظ بالعناصر واستخدام الانتقال للأعلى أو للأسفل. (b/371802474)

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

  • إصلاح عطل نادر يحدث عند إنشاء عنصر مشترَك ولكن لم يتم قياسه أو وضعه مطلقًا، وذلك من خلال طلب عرض العنصر المشترَك في مكانه مرة واحدة على الأقل قبل عرضه في التراكب (b/371802474)

الإصدار 1.8.0-alpha06

13 تشرين الثاني (نوفمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha06. يتضمّن الإصدار 1.8.0-alpha06 عمليات الربط هذه.

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

  • تم تعديل اسم المَعلمة sharedElement من state إلى sharedContentState لتحقيق الاتساق في واجهات برمجة التطبيقات للعناصر المشتركة. (I5694c، b/375351468)
  • أصبحت مجموعة واجهات برمجة التطبيقات AnimatedImageVector مستقرة الآن. (I7174b، b/261436267)

الإصدار 1.8.0-alpha05

30 تشرين الأول (أكتوبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha05. يتضمّن الإصدار 1.8.0-alpha05 عمليات الربط هذه.

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

  • تتوفّر ميزة "الاستبصار" الآن في LazyGrid. ويشمل ذلك التفريق بين تمريرة النظر إلى المستقبل وتمريرة الاقتراب في الانتقال إلى أعلى الصفحة أو أسفلها وإنشاء العناصر أو إزالتها وإضافة صور متحركة إليها، ويستخدم تمريرة النظر إلى المستقبل كمصدر معلومات عن الانتقال إلى أعلى الصفحة أو أسفلها وهدف الصور المتحركة للعناصر.

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

  • تعديل الحالات الداخلية لعملية تحويل حجم AnimatedContent عند إعادة إنشاء عملية النقل ويضمن ذلك أن تكون معلومات الحجم المستهدَف محدَّثة دائمًا. (b/372512085)

الإصدار 1.8.0-alpha04

16 أكتوبر 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha04. يتضمّن الإصدار 1.8.0-alpha04 عمليات الربط هذه.

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

  • تم إصلاح خطأ كان يتسبب في تعطُّل بعض منحنيات التخفيف عند أجزاء زمنية معيّنة.
  • تم إصلاح خلل كان يتسبب في محاذاة غير صحيحة للرمز Modifier.animateContentSize في اتجاه RTL. (Idae6b، b/372055503)

الإصدار 1.8.0-alpha03

2 أكتوبر 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha03. يحتوي الإصدار 1.8.0-alpha03 على عمليات الربط هذه.

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

  • تحديث إصدار Kotlin إلى 1.9 (I1a14c)

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

  • تم إصلاح مشكلة في الصورة المتحركة لحجم AnimatedContent من خلال تتبُّع الصورة المتحركة وبدءها دائمًا من الحجم الحالي لضمان استمراريتها.

الإصدار 1.8.0-alpha02

18 أيلول (سبتمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha02. يتضمّن الإصدار 1.8.0-alpha02 عمليات الربط هذه.

الإصدار 1.8.0-alpha01

4 أيلول (سبتمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.8.0-alpha01. يتضمّن الإصدار 1.8.0-alpha01 عمليات الربط هذه.

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

  • واجهة برمجة تطبيقات Modifier.animateBounds جديدة لإضافة تأثيرات متحركة على تغييرات الحجم والموضع ضمن نطاق النظر إلى المستقبل 94b9394

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

  • إزالة العلامات التجريبية على الإطارات الرئيسية التي تتضمّن أقواسًا وخطوطًا منحنية (89e1199)

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

  • تخطّي منطق placeHolderSize في حال عدم العثور على أي مطابقة (77c0160)
  • الحد من وقت التشغيل في AndroidFlingSpline لمنع الأعطال الناتجة عن زيادة وقت التشغيل بشكل غير منتظم(9d47587)
  • إصلاح عدم رسم SharedTransitionScope للعناصر في شروط معيّنة (b41077b6)

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

  • منع ضبط انتقال قابل للتقديم أو الإيقاف playTime عندما لا يكون هناك انتقال قيد التشغيل من قِبل "ستيفن شوين" (c2e6e7e6)

الإصدار 1.7

الإصدار 1.7.6

11 كانون الأول (ديسمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.6. يحتوي الإصدار 1.7.6 على عمليات الربط هذه.

الإصدار 1.7.5

30 تشرين الأول (أكتوبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.5. يتضمّن الإصدار 1.7.5 عمليات الربط هذه.

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

  • تم إصلاح خلل كان يتسبب في محاذاة غير صحيحة للرمز Modifier.animateContentSize في اتجاه RTL. (Idae6b، b/372055503)

الإصدار 1.7.4

16 أكتوبر 2024

تم إصدار androidx.compose.animation:animation-*:1.7.4. يتضمّن الإصدار 1.7.4 عمليات الربط هذه.

الإصدار 1.7.3

2 أكتوبر 2024

تم إصدار androidx.compose.animation:animation-*:1.7.3. يتضمّن الإصدار 1.7.3 عمليات الربط هذه.

الإصدار 1.7.2

18 أيلول (سبتمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.2. يحتوي الإصدار 1.7.2 على عمليات الربط هذه.

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

  • منع ضبط انتقال قابل للتقديم أو الإيقاف playTime عندما لا تكون هناك عملية انتقال قيد التشغيل شكرًا Steven Schoen. (c2e6e7e6)

الإصدار 1.7.1

10 أيلول (سبتمبر) 2024

  • عدم إجراء أي تغييرات على عناصر Android تمّت إزالة -desktop عنصر وإضافة -jvmStubs و-linuxx64Stubs عنصر. لا يُقصد استخدام أيّ من هذه الاستهدافات، بل هي عناصر نائبة لمساعدة جهود Jetbrains Compose.

الإصدار 1.7.0

4 أيلول (سبتمبر) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0.

التغييرات المهمة منذ الإصدار 1.6.0

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

واجهات برمجة التطبيقات الجديدة لانتقال العناصر المشتركة

  • في انتظار استخدامك لملاحظاتك بشأن واجهات برمجة التطبيقات الجديدة لنقل العناصر المشترَكة. تتيح واجهات برمجة التطبيقات التجريبية الجديدة هذه وضع علامة على التنسيقات على أنّها مشترَكة في شجرة التنسيق باستخدام المُعدِّلات المقدَّمة، ما يؤدي إلى إنشاء حدود تتغيّر بسلاسة عند خروج مجموعة من المحتوى المشترَك ودخول المجموعة الأخرى. (Icb0b9)
  • scaleInSharedContentToBounds وscaleOutSharedContentToBounds الجديدان لتوسيع نطاق المحتوى في sharedBounds (I731c1)
  • أصبحت SharedTransitionScope التجريبية الآن واجهة بدلاً من فئة. (Iaf856)
  • resizeModes جديد (ScaleToBounds وRemeasureToBounds) لـ sharedBounds للاختيار بين التكبير أو إعادة القياس تمّ إيقاف واجهات برمجة تطبيقات scaleIn/OutSharedContentToBounds السابقة نهائيًا. (I0d41a)

تحسينات على واجهات برمجة التطبيقات الحالية:

  • سمة Modifier.animateContentSize جديدة تأخذ مَعلمة إضافية لمواءمة المحتوى المخصّص (I5623a، b/269803907)
  • سمة DeferredTargetAnimation تجريبية جديدة لتحريك الحجم أو الموضع أو أيّ هدف آخر غير معروف أثناء إنشاء العنصر (I60745)
  • يستبدل SeekableTransitionState snapTo() بـ seekTo()، ويضيف snapTo() يغيّر الحالة على الفور إلى حالة وجهة بدون أي نوع من الرسوم المتحركة.
  • يمكنك الآن تمرير قيمة periodicBias (Float) إلى keyframesWithSpline، ما سيؤدي إلى تساوي السرعة الابتدائية والنهائية للقطع المكافئ. تكون مفيدة للرسوم المتحركة المتكررة باستخدام منحنيات spline. يشير الانحياز إلى مقدار تعديل كل سرعة (أولية ونهائية) لتحقيق الدورية. (Ic1e6c، b/292114811)

أصبحت واجهات برمجة التطبيقات التالية مستقرة أو تمت إزالتها:

  • أصبحت AnimatedVisibilityScope.transition الآن واجهة برمجة تطبيقات ثابتة. تم أيضًا تحسين ثبات الإصدار Modifier.animateEnterExit(..). (I6c1d1)
  • أصبح ApproachLayoutModifierNode وModifier.approachLayout ثابتَين الآن، مع isMeasurementApproachInProgress() وisPlacementApproachInProgress() الجديدَين لاستبدال isMeasurementApproachComplete() وisPlacementApproachComplete() القديمَين على التوالي.
  • تمت إزالة المُعدِّل intermediateLayout الذي تم إيقافه نهائيًا. (I3e91c)
  • أصبحت واجهات برمجة التطبيقات LookaheadScope مستقرة. (I21507)

الإصدار 1.7.0-rc01

21 آب (أغسطس) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-rc01. يتضمّن الإصدار 1.7.0-rc01 عمليات الربط هذه.

الإصدار 1.7.0-beta07

7 آب (أغسطس) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta07. يتضمّن الإصدار 1.7.0-beta07 عمليات الربط هذه.

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

  • تم إصلاح مشكلة عدم رسم SharedTransitionScope لعناصر التراكب أثناء الانتقال في ظروف معيّنة، والتي تشمل عادةً الاستخدام مع ميزة "التنقّل". (Id65ab، b/347520198)

الإصدار 1.7.0-beta06

24 تموز (يوليو) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta06. يتضمّن الإصدار 1.7.0-beta06 عمليات الربط هذه.

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

  • تم إصلاح تسرب حالات الانتقال في SeekableTransition من خلال تنظيف الملاحظات من SnapshotStateObserver بشكل صحيح عند التخلص من عملية النقل. (b9c7182)
  • تم إصلاح الحالات الشاذة التي لا يتم فيها وضع علامة "مكتمل" بشكل صحيح على "عمليات النقل الفرعية" عند اكتمال "عملية النقل الرئيسية". (dc42216)

الإصدار 1.7.0-beta05

10 تموز (يوليو) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta05. يتضمّن الإصدار 1.7.0-beta05 عمليات الربط هذه.

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

  • يمكن الآن قراءة سمة الانتقال totalDurationNanos بشكل صحيح ضمن snapshotFlow.

الإصدار 1.7.0-beta04

26 حزيران (يونيو) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta04. يتضمّن الإصدار 1.7.0-beta04 عمليات الربط هذه.

الإصدار 1.7.0-beta03

12 يونيو 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta03. يتضمّن الإصدار 1.7.0-beta03 هذه المراجعات.

الإصدار 1.7.0-beta02

29 أيار (مايو) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta02. يتضمّن الإصدار 1.7.0-beta02 عمليات الربط هذه.

الإصدار 1.7.0-beta01

14 أيار (مايو) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-beta01. يتضمّن الإصدار 1.7.0-beta01 عمليات الربط هذه.

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

  • resizeModes جديد (ScaleToBounds وRemeasureToBounds) لـ sharedBounds للاختيار بين التكبير أو إعادة القياس تمّ إيقاف واجهات برمجة تطبيقات scaleIn/OutSharedContentToBounds السابقة نهائيًا. (I0d41a)

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

  • أصبح الإصدار التجريبي SharedTransitionScope الآن واجهة بدلاً من فئة من تأليف "ستيفن شوين". (Iaf856، b/338415048، b/338414702)

الإصدار 1.7.0-alpha08

1 مايو 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha08. يتضمّن الإصدار 1.7.0-alpha08 عمليات الربط هذه.

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

  • أصبحت واجهات برمجة التطبيقات LookaheadScope مستقرة. (I21507)

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

  • Clear start animation time after SeekableTransitionState animates/snaps by Steven Schoen (1ca89529)

الإصدار 1.7.0-alpha07

17 نيسان (أبريل) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha07. يتضمّن الإصدار 1.7.0-alpha07 عمليات الربط هذه.

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

  • في ما يلي واجهات برمجة التطبيقات الجديدة لنقل العناصر المشترَكة في انتظار استخدامك وملاحظاتك. تتيح واجهات برمجة التطبيقات التجريبية الجديدة هذه وضع علامة على التنسيقات على أنّها مشترَكة في شجرة التنسيق باستخدام المُعدِّلات المقدَّمة، ما يؤدي إلى إنشاء حدود تتغيّر بسلاسة عند خروج مجموعة من المحتوى المشترَك ودخول المجموعة الأخرى. (Icb0b9)
  • scaleInSharedContentToBounds وscaleOutSharedContentToBounds الجديدان لتوسيع نطاق المحتوى في sharedBounds (I731c1)

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

  • أصبحت AnimatedVisibilityScope.transition الآن واجهة برمجة تطبيقات ثابتة. تم أيضًا تحسين ثبات Modifier.animateEnterExit(..). (I6c1d1)
  • أصبح ApproachLayoutModifierNode وModifier.approachLayout ثابتَين الآن، مع isMeasurementApproachInProgress() وisPlacementApproachInProgress() الجديدَين لاستبدال isMeasurementApproachComplete() وisPlacementApproachComplete() القديمَين على التوالي.
  • تمت إزالة المُعدِّل intermediateLayout الذي تم إيقافه نهائيًا. (I3e91c)
  • يمكنك الآن تمرير قيمة periodicBias (Float) إلى keyframesWithSpline، ما سيؤدي إلى تساوي السرعة الابتدائية والنهائية للقطع المكافئ. تكون مفيدة للرسوم المتحركة المتكررة باستخدام منحنيات spline. يشير الانحياز إلى مقدار تعديل كل سرعة (أولية ونهائية) لتحقيق الدورية. (Ic1e6c، b/292114811)

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

  • تمّ إصلاح منحنيات التخفيف الزائد والتخفيف المنخفض التي كانت تُقيّد سابقًا بقيم من 0 إلى 1 (I38747).

الإصدار 1.7.0-alpha06

3 نيسان (أبريل) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha06. يتضمّن الإصدار 1.7.0-alpha06 عمليات الربط هذه.

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

  • تمت إضافة إمكانية استخدام الصور المتحركة لظهور العناصر واختفائها في LazyColumn وLazyRow. في السابق، كان من الممكن إضافة المُعدِّل Modifier.animateItemPlacement() لتفعيل الرسوم المتحرّكة لموضع الإعلان (إعادة الترتيب). أوقفنا هذا المُعدِّل نهائيًا وأضفنا مُعدِّلًا جديدًا غير تجريبي يُسمى Modifier.animateItem() يتيح لك استخدام جميع أنواع الصور المتحركة الثلاثة: الظهور (التلاشي) والاختفاء (التلاشي) وإعادة الترتيب. (I2d7f7، b/330152398، b/150812265)

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

  • تحسين أداء واجهة برمجة التطبيقات updateTransition

الإصدار 1.7.0-alpha05

20 مارس 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha05. يتضمّن الإصدار 1.7.0-alpha05 عمليات الربط هذه.

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

  • يستبدل SeekableTransitionState snapTo() بـ seekTo()، ويضيف snapTo() يغيّر الحالة على الفور إلى حالة وجهة بدون أي نوع من الرسوم المتحركة.

الإصدار 1.7.0-alpha04

‫6 مارس 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha04. يتضمّن الإصدار 1.7.0-alpha04 عمليات الربط هذه.

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

  • واجهة برمجة تطبيقات جديدة Path.reverse() لعكس اتجاه المسار (I36348)

الإصدار 1.7.0-alpha03

21 شباط (فبراير) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha03. يحتوي الإصدار 1.7.0-alpha03 على هذه المراجعات.

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

  • سمة Modifier.animateContentSize جديدة تأخذ مَعلمة إضافية لمواءمة المحتوى المخصّص (I5623a، b/269803907)
  • سمة DeferredTargetAnimation تجريبية جديدة لتحريك الحجم أو الموضع أو أيّ هدف آخر غير معروف أثناء إنشاء العنصر (I60745)

الإصدار 1.7.0-alpha02

7 شباط (فبراير) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha02. يحتوي الإصدار 1.7.0-alpha02 على هذه المراجعات.

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

  • حلّ مشكلة التوافق مع KeyframesSpec (I2bdf3، b/322214617)
  • تم إصلاح مشكلة عدم إعادة ضبط Modifier.animateContentSize بشكل صحيح عند استخدامه في LazyList. (I070512، b/322525716)
  • تم إصلاح IllegalStateException في KeyframesSpec عند استخدام الطوابع الزمنية خارج النطاق. (I341b8، b/322839811)

الإصدار 1.7.0-alpha01

24 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.animation:animation-*:1.7.0-alpha01. يحتوي الإصدار 1.7.0-alpha01 على هذه المراجعات.

الإصدار 1.6

الإصدار 1.6.8

12 يونيو 2024

تم إصدار androidx.compose.animation:animation-*:1.6.8. يتضمّن الإصدار 1.6.8 عمليات الربط هذه.

الإصدار 1.6.7

1 مايو 2024

تم إصدار androidx.compose.animation:animation-*:1.6.7. يتضمّن الإصدار 1.6.7 عمليات الربط هذه.

الإصدار 1.6.6

17 نيسان (أبريل) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.6. لم يتم إجراء أي تغييرات منذ الإصدار السابق.

الإصدار 1.6.5

3 نيسان (أبريل) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.5. يتضمّن الإصدار 1.6.5 عمليات الربط هذه.

الإصدار 1.6.4

20 مارس 2024

تم إصدار androidx.compose.animation:animation-*:1.6.4. يتضمّن الإصدار 1.6.4 عمليات الربط هذه.

الإصدار 1.6.3

‫6 مارس 2024

تم إصدار androidx.compose.animation:animation-*:1.6.3. يحتوي الإصدار 1.6.3 على عمليات الربط هذه.

الإصدار 1.6.2

21 شباط (فبراير) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.2. يحتوي الإصدار 1.6.2 على هذه المراجعات.

الإصدار 1.6.1

7 شباط (فبراير) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.1. يحتوي الإصدار 1.6.1 على هذه المراجعات.

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

الإصدار 1.6.0

24 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.0. يحتوي الإصدار 1.6.0 على هذه المراجعات.

الإصدار 1.6.0-rc01

10 كانون الثاني (يناير) 2024

تم إصدار androidx.compose.animation:animation-*:1.6.0-rc01. يحتوي الإصدار 1.6.0-rc01 على هذه المراجعات.

الإصدار 1.6.0-beta03

13 كانون الأول (ديسمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-beta03. يحتوي الإصدار 1.6.0-beta03 على هذه المراجعات.

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

  • تمت إزالة scaleInToFitContainer وscaleOutToFitContainer مؤقتًا من AnimatedContentTransitionScope لأنّهما يتطلبان ميزة "النظر إلى المستقبل". وستتوفّر هذه الميزة عندما تكون ميزة "الاطّلاع على المستقبل" مفعّلة تلقائيًا أو عندما يتم تفعيلها في الإصدارات المستقبلية.

الإصدار 1.6.0-beta02

29 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-beta02. يحتوي الإصدار 1.6.0-beta02 على هذه المراجعات.

الإصدار 1.6.0-beta01

15 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-beta01. يحتوي الإصدار 1.6.0-beta01 على هذه المراجعات.

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

  • تمت إعادة تسمية ExitTransition.Hold إلى ExitTransition.KeepUntilTransitionsFinished لتكون أكثر وضوحًا. (I1c490)
  • يمكنك الآن استخدام keyframesWithSpline لدمج أي قيمة متعددة الأبعاد باستخدام منحنيات spline أحادية الاتجاه. ومن المفيد بشكل خاص استخدام هذه الطريقة لدمج القيم الموضعية، مثل Offset وIntOffset وDpOffset. تمت إضافتها كواجهة برمجة تطبيقات تجريبية.

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

  • إضافة إمكانية استخدام أداة الربط مع مخطّط التدرّج في ArcLine (I4d5bb)
  • نفِّذ الدالتَين equals وhashcode PageSize.Fixed. (Ie3ede، b/300134276)
  • حلّ مشكلة التوافق الثنائي مع تغيير "موضع النافذة" (Iee695)
  • أزِل طبقة Material Core لشريحة/زر Material3 لأنّ الاختبارات الدقيقة تُظهر أداءً أفضل بدونها. (I55555)

الإصدار 1.6.0-alpha08

18 تشرين الأول (أكتوبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha08. يحتوي الإصدار 1.6.0-alpha08 على هذه المراجعات.

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

  • تم إيقاف KeyframesSpecConfig#with نهائيًا لصالح KeyframesSpecConfig#using الذي يحافظ على نمط المُنشئ. (I1d769)

الإصدار 1.6.0-alpha07

‫4 أكتوبر 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha07. يحتوي الإصدار 1.6.0-alpha07 على هذه المراجعات.

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

  • تتوفّر الآن الصيغتان الأساسية والثانوية لصفوف علامات التبويب الثابتة والقابلة للتنقّل. ويتم ربطها بشكل صحيح بسلوك اللون والمؤشر كما هو محدّد في Material3.
  • يعرض PrimaryScrollableTabRow وSecondaryScrollableTabRow الآن حالة الانتقال إلى أعلى أو أسفل الصفحة. (Iec8f5، b/260572337)

الإصدار 1.6.0-alpha06

20 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha06. يحتوي الإصدار 1.6.0-alpha06 على هذه المراجعات.

الإصدار 1.6.0-alpha05

6 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha05. يحتوي الإصدار 1.6.0-alpha05 على هذه المراجعات.

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

  • تمت إضافة PathEasing لتفعيل توفير مسار عشوائي إلى منحنى التخفيف. (Idb4b9)

الإصدار 1.6.0-alpha04

23 آب (أغسطس) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha04. يحتوي الإصدار 1.6.0-alpha04 على هذه المراجعات.

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

  • أضِف SeekableTransitionState للسماح للمطوّرين بالتحكّم في مستوى تقدّم عملية النقل. (I8e69d)

الإصدار 1.6.0-alpha03

9 آب (أغسطس) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha03. يحتوي الإصدار 1.6.0-alpha03 على هذه المراجعات.

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

  • نوع جديد من انتقالات الدخول/الخروج الذي يغيّر حجم المحتوى استنادًا إلى حجم الحاوية التي تظهر فيها الصور المتحركة أثناء انتقالات الدخول والخروج LookaheadScope أصبحت الواجهة والميزات القابلة للتجميع مستقرة الآن. (Ifb2ce)

الإصدار 1.6.0-alpha02

26 تموز (يوليو) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha02. يحتوي الإصدار 1.6.0-alpha02 على هذه المراجعات.

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

  • ExitTransition.Hold جديدة لعرض المحتوى المغادر في AnimatedContent إلى أن تنتهي كل من عملية الدخول والخروج (I5984f)
  • تعليقات توضيحية إضافية لتحديد الإدخالات المسموح بها للعناصر القابلة للتجميع (I51109)

الإصدار 1.6.0-alpha01

‫21 حزيران (يونيو) 2023

تم إصدار androidx.compose.animation:animation-*:1.6.0-alpha01. يحتوي الإصدار 1.6.0-alpha01 على هذه المراجعات.

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

  • فعِّل Modifier.animateContentSize وAnimatedVisibility للدمج الكامل في نظام النظرة إلى المستقبل من خلال الإبلاغ عن الحجم المستهدَف في عملية النظرة إلى المستقبل.

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

  • خاصية جديدة في IntrinsincMeasureScope وعمليات تنفيذها (مثل MeasureScope) للإشارة إلى ما إذا كانت عملية قياس الأداء الحالية هي عملية قياس أداء استباقي (I7a812)

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

  • تمّت إزالة عمليات التوزيع من الصور المتحركة التي تظهر عند التمرير سريعًا. (Ie9431)
  • تم تغيير اسم مَعلمة القيمة لواجهة برمجة التطبيقات Enum.valueOf (Ia9b89)
  • المزيد من الاستثناءات التي تمّ طرحها من enum valueOf (I818fe)

الإصدار 1.5

الإصدار 1.5.4

18 تشرين الأول (أكتوبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.4. يحتوي الإصدار 1.5.4 على هذه المراجعات.

الإصدار 1.5.3

‫4 أكتوبر 2023

تم إصدار androidx.compose.animation:animation-*:1.5.3. لا يتضمّن هذا الإصدار أي تغييرات.

الإصدار 1.5.2

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

تم إصدار androidx.compose.animation:animation-*:1.5.2. يحتوي الإصدار 1.5.2 على هذه المراجعات.

الإصدار 1.5.1

6 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.foundation:foundation-*:1.5.1. يحتوي الإصدار 1.5.1 على هذه المراجعات.

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

  • تم إصلاح الحقول النصية التي تعرض لوحة المفاتيح ويمكن تعديلها عندما يكون readOnly صحيحًا. تم أيضًا إصلاح مشكلة عدم ظهور لوحة المفاتيح عند تغيير readOnly من صحيح إلى خطأ أثناء التركيز. (I34a19، b/246909589)

الإصدار 1.5.1

6 أيلول (سبتمبر) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.1. يحتوي الإصدار 1.5.1 على هذه المراجعات.

الإصدار 1.5.0

9 آب (أغسطس) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0. يحتوي الإصدار 1.5.0 على هذه المراجعات.

الإصدار 1.5.0-rc01

26 تموز (يوليو) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-rc01. يحتوي الإصدار 1.5.0-rc01 على هذه المراجعات.

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

  • تم إصلاح مشكلة كانت تؤدي إلى ظهور تحذير lint يتضمّن إصلاحًا غير صالح عند استدعاء .value على نوع حالة بدائي (مثل MutableIntState). سيقترح الفحص الآن نقل البيانات إلى الموقع الصحيح. (Iba953، b/287279257)

  • يتوفّر فحص اختياري لاقتراح نقل طلبات mutableStateOf() إلى الأنواع المخصّصة لها من العناصر الأساسية. رقم تعريف أداة تصحيح الأخطاء هو AutoboxingStateCreation. في السابق، كان هذا الفحص مفعّلاً تلقائيًا لجميع المشاريع. للاطّلاع على هذا التحذير في محرِّر Android Studio ومخرجات أداة lint لمشروعك، غيِّر شدته من معلوماتية إلى تحذير (أو أعلى) من خلال تحديد warning "AutoboxingStateCreation" داخل إعدادات build.gradle أو build.gradle.kts للمكوّن كما هو موضّح (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

الإصدار 1.5.0-beta03

28 حزيران (يونيو) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-beta03. يحتوي الإصدار 1.5.0-beta03 على هذه المراجعات.

الإصدار 1.5.0-beta02

7 حزيران (يونيو) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-beta02. يحتوي الإصدار 1.5.0-beta02 على هذه المراجعات.

الإصدار 1.5.0-beta01

24 أيار (مايو) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-beta01. يحتوي الإصدار 1.5.0-beta01 على هذه المراجعات.

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

  • تمّت إزالة عمليات التوزيع في إعادة التركيب والصور المتحركة بالألوان وAndroidComposeView (Ib2bfa)

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

  • تمّت إزالة عمليات التوزيع من الصور المتحركة للربيع (Ie9431)

الإصدار 1.5.0-alpha04

10 أيار (مايو) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-alpha04. يحتوي الإصدار 1.5.0-alpha04 على هذه المراجعات.

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

  • تتوفّر الآن ميزة ContentKey في AnimatedContent للسماح بمزيد من التحكّم في وقت إجراء عملية النقل. (Ic069b)

الإصدار 1.5.0-alpha03

19 نيسان (أبريل) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-alpha03. يحتوي الإصدار 1.5.0-alpha03 على هذه المراجعات.

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

  • السلوك التلقائي الجديد لـ SubcomposeLayout في LookaheadScope ويسمح هذا الإجراء لعناصر SubcomposeLayouts التي لا تحتوي على خانات شرطية (مثل TabRow وScaffold وBoxWithConstraints وما إلى ذلك) بالعمل بشكل جيد مع الرسوم المتحرّكة التي تستبِق الأحداث.

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

  • إنّ القيمة التلقائية الجديدة intermediateMeasurePolicy التي تعيد استخدام سياسة القياس من عملية التقديم إلى الأمام تسمح لأنواع SubcomposeLayout الفرعية التي لا تحتوي على خانات شرطية، مثل Scaffold وTabRow وBoxWithConstraints، بالعمل مع ميزة "النظر إلى المستقبل" تلقائيًا. (Id84c8)
  • أعِد تسمية الدالة infix fun with إلى togetherWith لدمج انتقالات الدخول والخروج. AnimatedContentScope الجديدة كمستلِم لمحتوى lambda (Ic39ae)

الإصدار 1.5.0-alpha02

5 نيسان (أبريل) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-alpha02. يحتوي الإصدار 1.5.0-alpha02 على هذه المراجعات.

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

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

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

  • واجهة برمجة تطبيقات SubcomposeLayout جديدة تتّبع سياسة قياس وسيطة إضافية لمعالجة منطق القياس/التنسيق أثناء الصور المتحركة المستندة إلى التوقّع (I017d3)

الإصدار 1.5.0-alpha01

22 آذار (مارس) 2023

تم إصدار androidx.compose.animation:animation-*:1.5.0-alpha01. يحتوي الإصدار 1.5.0-alpha01 على هذه المراجعات.

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

  • أصبحت واجهات برمجة تطبيقات AnimatedContent مستقرة الآن، وتمّت إعادة تسمية AnimatedContentScope إلى AnimatedContentTransitionScope. أصبحت واجهتا برمجة التطبيقات scaleIn وscaleOut الآن ثابتتَين. (Iaf54e)

الإصدار 1.4

الإصدار 1.4.3

3 أيار (مايو) 2023

يتم إصدار الإصدارات androidx.compose.animation:animation:1.4.3 وandroidx.compose.animation:animation-core:1.4.3 وandroidx.compose.animation:animation-graphics:1.4.3 بدون أي تغييرات (فقط ترقية الإصدار).

الإصدار 1.4.2

19 نيسان (أبريل) 2023

تم طرح الإصدارات androidx.compose.animation:animation:1.4.2 وandroidx.compose.animation:animation-core:1.4.2 وandroidx.compose.animation:animation-graphics:1.4.2 بدون أي تغييرات. يحتوي الإصدار 1.4.2 على هذه المراجعات.

الإصدار 1.4.1

5 نيسان (أبريل) 2023

تم طرح الإصدارات androidx.compose.animation:animation:1.4.1 وandroidx.compose.animation:animation-core:1.4.1 وandroidx.compose.animation:animation-graphics:1.4.1 بدون أي تغييرات. يحتوي الإصدار 1.4.1 على هذه المراجعات.

الإصدار 1.4.0

22 آذار (مارس) 2023

تم إصدار androidx.compose.animation:animation:1.4.0 وandroidx.compose.animation:animation-core:1.4.0 وandroidx.compose.animation:animation-graphics:1.4.0. يحتوي الإصدار 1.4.0 على هذه المراجعات.

التغييرات المهمة منذ الإصدار 1.3.0

  • يمكن استخدام تصنيف الأدوات في rememberInfiniteTransition وجميع دوالّ الإضافة في InfiniteTransition وTransition (مثل InfiniteTransition#animateColor) (I56ef7)

الإصدار 1.4.0-rc01

8 آذار (مارس) 2023

تم طرح الإصدارات androidx.compose.animation:animation:1.4.0-rc01 وandroidx.compose.animation:animation-core:1.4.0-rc01 وandroidx.compose.animation:animation-graphics:1.4.0-rc01 بدون أي تغييرات. يحتوي الإصدار 1.4.0-rc01 على هذه المراجعات.

الإصدار 1.4.0-beta02

22 شباط (فبراير) 2023

تم طرح الإصدارات androidx.compose.animation:animation:1.4.0-beta02 وandroidx.compose.animation:animation-core:1.4.0-beta02 وandroidx.compose.animation:animation-graphics:1.4.0-beta02 بدون أي تغييرات. يحتوي الإصدار 1.4.0-beta02 على هذه المراجعات.

الإصدار 1.4.0-beta01

8 شباط (فبراير) 2023

تم طرح الإصدارات androidx.compose.animation:animation:1.4.0-beta01 وandroidx.compose.animation:animation-core:1.4.0-beta01 وandroidx.compose.animation:animation-graphics:1.4.0-beta01 بدون أي تغييرات. يحتوي الإصدار 1.4.0-beta01 على هذه المراجعات.

الإصدار 1.4.0-alpha05

25 كانون الثاني (يناير) 2023

تم إصدار androidx.compose.animation:animation:1.4.0-alpha05 وandroidx.compose.animation:animation-core:1.4.0-alpha05 وandroidx.compose.animation:animation-graphics:1.4.0-alpha05. يحتوي الإصدار 1.4.0-alpha05 على هذه المراجعات.

التغييرات

  • لم يتم إجراء أي تغييرات في مكتبات الصور المتحركة منذ الإصدار التجريبي الأخير، وتم تحديث الإصدار فقط.

الإصدار 1.4.0-alpha04

11 كانون الثاني (يناير) 2023

تم إصدار androidx.compose.animation:animation:1.4.0-alpha04 وandroidx.compose.animation:animation-core:1.4.0-alpha04 وandroidx.compose.animation:animation-graphics:1.4.0-alpha04. يحتوي الإصدار 1.4.0-alpha04 على هذه المراجعات.

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

  • يمكن استخدام تصنيف الأدوات في rememberInfiniteTransition وجميع دوال الإضافة في InfiniteTransition وTransition (مثل InfiniteTransition#animateColor) (I56ef7)

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

  • أصبحت واجهات برمجة التطبيقات InfiniteTransition#TransitionAnimationState وInfiniteTransition#animations متاحة للجميع. (I36682)

الإصدار 1.4.0-alpha03

7 كانون الأول (ديسمبر) 2022

تم إصدار androidx.compose.animation:animation:1.4.0-alpha03 وandroidx.compose.animation:animation-core:1.4.0-alpha03 وandroidx.compose.animation:animation-graphics:1.4.0-alpha03. يحتوي الإصدار 1.4.0-alpha03 على هذه المراجعات.

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

  • في اختبارات واجهة المستخدم التي تستخدِم قاعدة Compose، لن يتم إرسال عمليات المتابعة التي تم استئنافها أثناء عمليات استدعاء withFrameNanos إلا بعد انتهاء تشغيل جميع عمليات استدعاء الإطارات. ويطابق هذا السلوك سلوك ميزة "الإنشاء" عند تشغيلها بشكلٍ طبيعي. ومع ذلك، قد تفشل الاختبارات التي تعتمد على السلوك القديم. من المفترض ألا يؤثر ذلك إلا في الرمز البرمجي الذي يستدعي withFrameNanos أو withFrameMillis مباشرةً، والذي يتضمّن منطقًا خارج ردّ الاتصال ويتم تمريره إلى تلك الدوالّ التي قد تحتاج إلى نقلها داخل دوالّ ردّ الاتصال. يمكنك الاطّلاع على التغييرات في اختبار الصور المتحركة في هذا الرابط للحصول على أمثلة.
  • تمت إضافة المَعلمة الاختيارية onPerformTraversals: (Long) -> Unit إلى دالة الإنشاء TestMonotonicFrameClock ودالة المصنع لتشغيل الرمز البرمجي بعد وظائف ردّ الاتصال withFrameNanos ولكن قبل استئناف عمليات التشغيل المتعدّد للوظائف المجدولة للمتصلين. (Idb413، b/254115946، b/222093277، b/255802670)
  • مَعلمة جديدة في AnimatedContent لتصنيف الأدوات (Iebe2d)

الإصدار 1.4.0-alpha02

9 تشرين الثاني (نوفمبر) 2022

تم إصدار androidx.compose.animation:animation:1.4.0-alpha02 وandroidx.compose.animation:animation-core:1.4.0-alpha02 وandroidx.compose.animation:animation-graphics:1.4.0-alpha02. يحتوي الإصدار 1.4.0-alpha02 على هذه المراجعات.

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

  • أضِف ToolingState للسماح للأدوات بتغيير الحالات الداخلية لـ Composable (Ie6614).

الإصدار 1.4.0-alpha01

24 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.animation:animation:1.4.0-alpha01 وandroidx.compose.animation:animation-core:1.4.0-alpha01 وandroidx.compose.animation:animation-graphics:1.4.0-alpha01. يحتوي الإصدار 1.4.0-alpha01 على هذه المراجعات.

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

  • إصلاح الصورة المتحركة غير الصحيحة للمقاطع التي تتداخل مع المحتوى في AnimatedContent (b/238662479)

الإصدار 1.3

الإصدار 1.3.3

11 كانون الثاني (يناير) 2023

تم إصدار androidx.compose.animation:animation:1.3.3 وandroidx.compose.animation:animation-core:1.3.3 وandroidx.compose.animation:animation-graphics:1.3.3. يحتوي الإصدار 1.3.3 على هذه المراجعات.

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.3.2.

الإصدار 1.3.2

7 كانون الأول (ديسمبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.2 وandroidx.compose.animation:animation-core:1.3.2 وandroidx.compose.animation:animation-graphics:1.3.2. يحتوي الإصدار 1.3.2 على هذه المراجعات.

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

  • تم تعديلها لتتوافق مع الإصدار 1.3.2 من androidx.compose.ui

الإصدار 1.3.1

9 تشرين الثاني (نوفمبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.1 وandroidx.compose.animation:animation-core:1.3.1 وandroidx.compose.animation:animation-graphics:1.3.1. يحتوي الإصدار 1.3.1 على هذه المراجعات.

الإصدار 1.3.0

24 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.0 وandroidx.compose.animation:animation-core:1.3.0 وandroidx.compose.animation:animation-graphics:1.3.0. يحتوي الإصدار 1.3.0 على عمليات الربط هذه.

التغييرات المهمة منذ الإصدار 1.2.0

  • تم تحسين مجموعة جديدة من وظائف التخفيف

الإصدار 1.3.0-rc01

5 تشرين الأول (أكتوبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-rc01 وandroidx.compose.animation:animation-core:1.3.0-rc01 وandroidx.compose.animation:animation-graphics:1.3.0-rc01. يحتوي الإصدار 1.3.0-rc01 على هذه المراجعات.

الإصدار 1.3.0-beta03

21 أيلول (سبتمبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta03 وandroidx.compose.animation:animation-core:1.3.0-beta03 وandroidx.compose.animation:animation-graphics:1.3.0-beta03. يحتوي الإصدار 1.3.0-beta03 على هذه المراجعات.

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.3.0-beta02.

الإصدار 1.3.0-beta02

7 أيلول (سبتمبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta02 وandroidx.compose.animation:animation-core:1.3.0-beta02 وandroidx.compose.animation:animation-graphics:1.3.0-beta02. يحتوي الإصدار 1.3.0-beta02 على هذه المراجعات.

  • تمت إزالة Kotlin.experimental من خيارات المُجمِّع لأنّه تم إيقافه نهائيًا.

الإصدار 1.3.0-beta01

24 آب (أغسطس) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta01 وandroidx.compose.animation:animation-core:1.3.0-beta01 وandroidx.compose.animation:animation-graphics:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على هذه المراجعات.

الإصدار 1.3.0-alpha03

10 آب (أغسطس) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha03 وandroidx.compose.animation:animation-core:1.3.0-alpha03 وandroidx.compose.animation:animation-graphics:1.3.0-alpha03. يحتوي الإصدار 1.3.0-alpha03 على هذه المراجعات.

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

  • مَعلمة جديدة في Crossfade وanimateAsState وAnimatable لتصنيف الأدوات (Iac08a)
  • تمت إضافة دالة atFraction لتحديد الإطارات الرئيسية عند جزء من الوقت بدلاً من مدة زمنية محدّدة. (I20c76، b/232059455)

الإصدار 1.3.0-alpha02

27 تموز (يوليو) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha02 وandroidx.compose.animation:animation-core:1.3.0-alpha02 وandroidx.compose.animation:animation-graphics:1.3.0-alpha02. يحتوي الإصدار 1.3.0-alpha02 على هذه المراجعات.

الإصدار 1.3.0-alpha01

29 حزيران (يونيو) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha01 وandroidx.compose.animation:animation-core:1.3.0-alpha01 وandroidx.compose.animation:animation-graphics:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على هذه المراجعات.

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

  • LookaheadLayout جديدة تتيح إجراء عملية فحص مسبق قبل الإجراء/التنسيق الفعلي يتيح ذلك إجراء حساب مسبق للتنسيق عند تغييره، مع السماح للقياس/التنسيق بعد فترة النظر إلى المستقبل باستخدام الحجم/الموضع المحسوبَين مسبقًا لتحريك الحجم والمواضع نحو الهدف. لا تتوفّر SubcomposeLayouts بعد، ولكن سيتم توفيرها في إصدار قادم. (I477f5)

الإصدار 1.2

الإصدار 1.2.1

10 آب (أغسطس) 2022

تم إصدار androidx.compose.animation:animation:1.2.1 وandroidx.compose.animation:animation-core:1.2.1 وandroidx.compose.animation:animation-graphics:1.2.1. يحتوي الإصدار 1.2.1 على عمليات الربط هذه.

الإصدار 1.2.0

27 تموز (يوليو) 2022

تم إصدار androidx.compose.animation:animation:1.2.0 وandroidx.compose.animation:animation-core:1.2.0 وandroidx.compose.animation:animation-graphics:1.2.0. يحتوي الإصدار 1.2.0 على هذه المراجعات.

التغييرات المهمة منذ الإصدار 1.1.0

  • تتيح ميزة إنشاء الصور المتحركة الآن ضبط "طول مدة الرسوم المتحركة" من "خيارات المطوّر".
  • مجموعة كبيرة من منحنيات التخفيف التجريبية الجديدة
  • يتيح AnimatedImageVector الآن استخدام repeatCount وrepeatMode.

الإصدار 1.2.0-rc03

29 حزيران (يونيو) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc03 وandroidx.compose.animation:animation-core:1.2.0-rc03 وandroidx.compose.animation:animation-graphics:1.2.0-rc03. يحتوي الإصدار 1.2.0-rc03 على هذه المراجعات.

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.2.0-rc02.

الإصدار 1.2.0-rc02

22 حزيران (يونيو) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc02 وandroidx.compose.animation:animation-core:1.2.0-rc02 وandroidx.compose.animation:animation-graphics:1.2.0-rc02. يحتوي الإصدار 1.2.0-rc02 على هذه المراجعات.

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

  • تمت إزالة التعليق التوضيحي ExperimentalEasingApi في دوال التعويض (Ied441)

الإصدار 1.2.0-rc01

15 حزيران (يونيو) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc01 وandroidx.compose.animation:animation-core:1.2.0-rc01 وandroidx.compose.animation:animation-graphics:1.2.0-rc01. يحتوي الإصدار 1.2.0-rc01 على هذه المراجعات.

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

  • يتم الآن إنشاء الواجهات في مكتبات Compose باستخدام طرق الواجهات التلقائية في jdk8 (I5bcf1).

الإصدار 1.2.0-beta03

1 حزيران (يونيو) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-beta03 وandroidx.compose.animation:animation-core:1.2.0-beta03 وandroidx.compose.animation:animation-graphics:1.2.0-beta03. يحتوي الإصدار 1.2.0-beta03 على هذه المراجعات.

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

  • تمت إضافة منحنيات تمويهية تجريبية للرسومات المتحركة (I64a38)

الإصدار 1.2.0-beta02

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

تم إصدار androidx.compose.animation:animation:1.2.0-beta02 وandroidx.compose.animation:animation-core:1.2.0-beta02 وandroidx.compose.animation:animation-graphics:1.2.0-beta02. يحتوي الإصدار 1.2.0-beta02 على هذه المراجعات.

الإصدار 1.2.0-beta01

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

تم إصدار androidx.compose.animation:animation:1.2.0-beta01 وandroidx.compose.animation:animation-core:1.2.0-beta01 وandroidx.compose.animation:animation-graphics:1.2.0-beta01. يحتوي الإصدار 1.2.0-beta01 على هذه المراجعات.

  • هذا هو الإصدار التجريبي الأول من الإصدار 1.2. لم يتم إجراء أي تغييرات منذ الإصدار التجريبي الأخير.

الإصدار 1.2.0-alpha08

20 نيسان (أبريل) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha08 وandroidx.compose.animation:animation-core:1.2.0-alpha08 وandroidx.compose.animation:animation-graphics:1.2.0-alpha08. يحتوي الإصدار 1.2.0-alpha08 على هذه المراجعات.

الإصدار 1.2.0-alpha07

6 نيسان (أبريل) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha07 وandroidx.compose.animation:animation-core:1.2.0-alpha07 وandroidx.compose.animation:animation-graphics:1.2.0-alpha07. يحتوي الإصدار 1.2.0-alpha07 على هذه المراجعات.

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

  • يتيح تطبيق AnimatedImageVector الآن استخدام repeatCount وrepeatMode (Ia3e75 وb/199304067).

الإصدار 1.2.0-alpha06

23 آذار (مارس) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha06 وandroidx.compose.animation:animation-core:1.2.0-alpha06 وandroidx.compose.animation:animation-graphics:1.2.0-alpha06. يحتوي الإصدار 1.2.0-alpha06 على هذه المراجعات.

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

  • تم تعديل تحليل الرسومات المتجهّة للسماح بالمرآة التلقائية لقلب محتوى VectorPainter إذا كان اتجاه التنسيق الحالي هو RTL. (I79cd9، b/185760237)

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

  • تم تعديل واجهات برمجة تطبيقات الرسومات المتجهّة لاستخدام التعليق التوضيحي القابل للتركيب @VectorComposable بدلاً من @UiComposable (I942bc).

الإصدار 1.2.0-alpha05

9 آذار (مارس) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha05 وandroidx.compose.animation:animation-core:1.2.0-alpha05 وandroidx.compose.animation:animation-graphics:1.2.0-alpha05. يحتوي الإصدار 1.2.0-alpha05 على هذه المراجعات.

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

  • رائع! تتيح ميزة إنشاء الصور المتحركة الآن استخدام الإعداد "طول مدة الرسوم المتحركة" من "خيارات المطوّر". (I5a4fc، b/161675988)

الإصدار 1.2.0-alpha04

23 شباط (فبراير) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha04 وandroidx.compose.animation:animation-core:1.2.0-alpha04 وandroidx.compose.animation:animation-graphics:1.2.0-alpha04. يحتوي الإصدار 1.2.0-alpha04 على هذه المراجعات.

الإصدار 1.2.0-alpha03

9 شباط (فبراير) 2022

تم إصدار androidx.compose.animation:animation:1.2.0-alpha03 وandroidx.compose.animation:animation-core:1.2.0-alpha03 وandroidx.compose.animation:animation-graphics:1.2.0-alpha03. يحتوي الإصدار 1.2.0-alpha03 على هذه المراجعات.

الإصدار 1.2.0-alpha02

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

تم إصدار androidx.compose.animation:animation:1.2.0-alpha02 وandroidx.compose.animation:animation-core:1.2.0-alpha02 وandroidx.compose.animation:animation-graphics:1.2.0-alpha02. يحتوي الإصدار 1.2.0-alpha02 على هذه المراجعات.

الإصدار 1.2.0-alpha01

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

تم إصدار androidx.compose.animation:animation:1.2.0-alpha01 وandroidx.compose.animation:animation-core:1.2.0-alpha01 وandroidx.compose.animation:animation-graphics:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه المراجعات.

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

  • استخدِم AnimatedImageVector.animatedVectorResource بدلاً من animatedVectorResource لتحميل ملف موارد <animated-vector>.
    • استخدِم rememberAnimatedVectorResource بدلاً من AnimatedImageVector#painterFor لعرض AnimatedImageVector. (I9c300)

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

  • أضِف طرق toString إلى Animatable وAnimationResult. (Icd3a6)

تعديلات على التبعيات

  • يعتمد الآن على Kotlin 1.6.10.

الإصدار 1.1

الإصدار 1.1.1

23 شباط (فبراير) 2022

تم إصدار androidx.compose.animation:animation:1.1.1 وandroidx.compose.animation:animation-core:1.1.1 وandroidx.compose.animation:animation-graphics:1.1.1. يحتوي الإصدار 1.1.1 على هذه المراجعات.

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

  • حلّ المشكلة NullPointerException في الإصدار androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059، b/206677462)
  • إصلاح مشكلة تعطُّل التطبيق بسبب محتوى الحافظة أثناء القراءة من الحافظة على Android (I06020، b/197769306)
  • تم إصلاح اتجاه النص من اليمين إلى اليسار في LazyVerticalGrid (aosp/1931080 وb/207510535)

الإصدار 1.1.0

9 شباط (فبراير) 2022

تم إصدار androidx.compose.animation:animation:1.1.0 وandroidx.compose.animation:animation-core:1.1.0 وandroidx.compose.animation:animation-graphics:1.1.0. يحتوي الإصدار 1.1.0 على عمليات الربط هذه.

التغييرات المهمة منذ الإصدار 1.0.0

  • إتاحة تأثير التمرير السريع بشكل ثابت في Android 12
  • تحسينات على حجم أهداف اللمس
  • تجدر الإشارة إلى أنّه بالنسبة إلى Compose 1.0، ستوسّع مكونات Material مساحة التنسيق لاستيفاء إرشادات تسهيل الاستخدام في Material لحجم مساحة اللمس. على سبيل المثال، سيتم توسيع ناحية اللمس المستهدَفة للزرّ إلى الحدّ الأدنى من الحجم 48x48dp، حتى إذا ضبطت حجم الزرّ على قيمة أصغر. يؤدي ذلك إلى مواءمة Compose Material مع السلوك نفسه لمكونات Material Design، ما يضمن سلوكًا متسقًا في حال خلط Views وCompose. يضمن هذا التغيير أيضًا استيفاء الحد الأدنى من متطلبات تسهيل الوصول إلى مساحات اللمس عند إنشاء واجهة المستخدم باستخدام مكونات Compose Material.
  • إتاحة شريط التنقّل بشكل ثابت
  • ترقية عدد من واجهات برمجة التطبيقات التجريبية إلى إصدارات مستقرة
  • التوافق مع الإصدارات الأحدث من Kotlin

الإصدار 1.1.0-rc03

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

تم إصدار androidx.compose.animation:animation:1.1.0-rc03 وandroidx.compose.animation:animation-core:1.1.0-rc03 وandroidx.compose.animation:animation-graphics:1.1.0-rc03. يحتوي الإصدار 1.1.0-rc03 على هذه المراجعات.

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

  • تم تعديله ليتوافق مع الإصدار 1.1.0-rc03 من Compose Material

الإصدار 1.1.0-rc01

15 كانون الأول (ديسمبر) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-rc01 وandroidx.compose.animation:animation-core:1.1.0-rc01. يحتوي الإصدار 1.1.0-rc01 على هذه المراجعات.

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

  • استخدِم AnimatedImageVector.animatedVectorResource بدلاً من animatedVectorResource لتحميل ملف موارد <animated-vector>.
    • استخدِم rememberAnimatedVectorResource بدلاً من AnimatedImageVector#painterFor لعرض AnimatedImageVector. (I9c300)

الإصدار 1.1.0-beta04

1 كانون الأول (ديسمبر) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-beta04 وandroidx.compose.animation:animation-core:1.1.0-beta04 وandroidx.compose.animation:animation-graphics:1.1.0-beta04. يحتوي الإصدار 1.1.0-beta04 على هذه المراجعات.

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

  • تم تعديلها لتصبح متوافقة مع Kotlin 1.6.0

الإصدار 1.1.0-beta03

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

تم إصدار androidx.compose.animation:animation:1.1.0-beta03 وandroidx.compose.animation:animation-core:1.1.0-beta03 وandroidx.compose.animation:animation-graphics:1.1.0-beta03. يحتوي الإصدار 1.1.0-beta03 على هذه المراجعات.

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

  • تمت إضافة مفتاح التعديل الجديد Modifier.onPlaced للسماح برصد تغيير موضع العنصر. وبالتالي، يمكن إجراء تغييرات إضافية على إزاحة المُعدِّل الفرعي استنادًا إلى تغيير موضع الإعلان المرصود. (I558fd)
  • إتاحة مفتاح المحتوى الجديد في ميزة "الانتقال البيني" سيتم استخدام ContentKey للتحقّق من المساواة من خلال نظام الرسوم المتحركة. وبالتالي، يمكن إجراء مقارنة مخصّصة للحالات من خلال تحديد قيمة مناسبة لمفتاح المحتوى في الحالات المختلفة.

    سيتم أيضًا استخدام ContentKey كمفتاح لحفظ المحتوى واستعادته. (I2e055، b/197907070)

الإصدار 1.1.0-beta02

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

تم إصدار androidx.compose.animation:animation:1.1.0-beta02 وandroidx.compose.animation:animation-core:1.1.0-beta02 وandroidx.compose.animation:animation-graphics:1.1.0-beta02. يحتوي الإصدار 1.1.0-beta02 على هذه المراجعات.

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

  • واجهات برمجة تطبيقات جديدة للصور المتحركة لاستخدام الأدوات وعلى وجه التحديد، تسمح هذه الأدوات بالاطّلاع على الصور المتحركة وإعداداتها في ملف "الانتقالات". (I4116e)

الإصدار 1.1.0-beta01

27 تشرين الأول (أكتوبر) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-beta01 وandroidx.compose.animation:animation-core:1.1.0-beta01 وandroidx.compose.animation:animation-graphics:1.1.0-beta01. يحتوي الإصدار 1.1.0-beta01 على هذه المراجعات.

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

  • واجهات برمجة تطبيقات جديدة للصور المتحركة لاستخدام الأدوات وعلى وجه التحديد، تسمح هذه الأدوات بالاطّلاع على الصور المتحركة وإعداداتها في ملف "الانتقالات". (I4116e)

الإصدار 1.1.0-alpha06

13 تشرين الأول (أكتوبر) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha06 وandroidx.compose.animation:animation-core:1.1.0-alpha06 وandroidx.compose.animation:animation-graphics:1.1.0-alpha06. يحتوي الإصدار 1.1.0-alpha06 على هذه المراجعات.

الإصدار 1.1.0-alpha05

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

تم إصدار androidx.compose.animation:animation:1.1.0-alpha05 وandroidx.compose.animation:animation-core:1.1.0-alpha05 وandroidx.compose.animation:animation-graphics:1.1.0-alpha05. يحتوي الإصدار 1.1.0-alpha05 على هذه المراجعات.

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

  • تم تحسين ثبات واجهات برمجة التطبيقات EnterTransition وExitTransition وبعض واجهات برمجة تطبيقات AnimatedVisibility. لم تعُد ميزة MutableTransitionState.isIdle تجريبية أيضًا. (I5072d)

  • تغيير جذري: تم نقل الدوالّ lambda في مصانع Enter/ExitTransition إلى الموضع الأخير في قائمة المَعلمات. (I5072d)

الإصدار 1.1.0-alpha04

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

تم إصدار androidx.compose.animation:animation:1.1.0-alpha04 وandroidx.compose.animation:animation-core:1.1.0-alpha04 وandroidx.compose.animation:animation-graphics:1.1.0-alpha04. يحتوي الإصدار 1.1.0-alpha04 على هذه المراجعات.

الإصدار 1.1.0-alpha03

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

تم إصدار androidx.compose.animation:animation:1.1.0-alpha03 وandroidx.compose.animation:animation-core:1.1.0-alpha03 وandroidx.compose.animation:animation-graphics:1.1.0-alpha03. يحتوي الإصدار 1.1.0-alpha03 على هذه المراجعات.

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

  • تم تعديل Compose 1.1.0-alpha03 ليصبح يعتمد على Kotlin 1.5.30. (I74545)

الإصدار 1.1.0-alpha02

18 آب (أغسطس) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha02 وandroidx.compose.animation:animation-core:1.1.0-alpha02 وandroidx.compose.animation:animation-graphics:1.1.0-alpha02. يحتوي الإصدار 1.1.0-alpha02 على هذه المراجعات.

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

  • يمكن الآن استخدام StartOffset في السمتَين repeatable و infiniteRepeatable، وذلك لتأخير وقت البدء أو تقديم الحركة السريع قبل بدء الحركة. لن يتم تكرار هذا البدء المُعدَّل (Ic679f، b/195079908)
  • انتقال جديد للدخول/الخروج للحجم ويمكن استخدامه مع أنواع أخرى من مَعلمات "مَعلمات انتقال الدخول/الخروج". (I372da، b/191325593)

الإصدار 1.1.0-alpha01

4 آب (أغسطس) 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha01 وandroidx.compose.animation:animation-core:1.1.0-alpha01 وandroidx.compose.animation:animation-graphics:1.1.0-alpha01. يحتوي الإصدار 1.1.0-alpha01 على هذه المراجعات.

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

  • أصبحت AnimatedImageVector وواجهات برمجة التطبيقات ذات الصلة متوفّرة الآن في وحدة androidx.compose.animation:animation-graphics الجديدة. (I60873)

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

الإصدار 1.0

الإصدار 1.0.5

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

تم إصدار androidx.compose.animation:animation:1.0.5 وandroidx.compose.animation:animation-core:1.0.5. يحتوي الإصدار 1.0.5 على هذه المراجعات.

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

  • تم إصلاح عطل في تتبُّع حالات derivedStateOf. (aosp/1792247)

الإصدار 1.0.4

13 تشرين الأول (أكتوبر) 2021

تم إصدار androidx.compose.animation:animation:1.0.4 وandroidx.compose.animation:animation-core:1.0.4. يحتوي الإصدار 1.0.4 على هذه المراجعات.

تعديلات على التبعيات

  • تم تعديلها لتصبح معتمدة على Kotlin 1.5.31

الإصدار 1.0.3

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

تم إصدار androidx.compose.animation:animation:1.0.3 وandroidx.compose.animation:animation-core:1.0.3. يحتوي الإصدار 1.0.3 على هذه المراجعات.

تعديلات على التبعيات

  • تم تعديلها لتصبح معتمدة على Kotlin 1.5.30

الإصدار 1.0.2

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

تم إصدار androidx.compose.animation:animation:1.0.2 وandroidx.compose.animation:animation-core:1.0.2. يحتوي الإصدار 1.0.2 على عمليات الربط هذه.

تم تعديله ليتوافق مع إصدار 1.0.2 من تطبيق Compose. لا يزال الإصدار 1.0.2 من أداة الإنشاء متوافقًا مع الإصدار 1.5.21 من Kotlin.

الإصدار 1.0.1

4 آب (أغسطس) 2021

تم إصدار androidx.compose.animation:animation:1.0.1 وandroidx.compose.animation:animation-core:1.0.1. يحتوي الإصدار 1.0.1 على هذه المراجعات.

تعديلات على التبعيات

  • تم تعديلها لتصبح معتمدة على Kotlin 1.5.21.

الإصدار 1.0.0

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

تم إصدار androidx.compose.animation:animation:1.0.0 وandroidx.compose.animation:animation-core:1.0.0. يحتوي الإصدار 1.0.0 على عمليات الربط هذه.

الميزات الرئيسية في الإصدار 1.0.0

هذا هو أول إصدار ثابت من تطبيق Compose. يُرجى الاطّلاع على مدوّنة الإصدار الرسمية من تطبيق Compose للحصول على مزيد من التفاصيل.

المشاكل المعروفة

  • إذا كنت تستخدم الإصدار 4 من Android Studio Bumblebee Canary أو الإصدار 7.1.0-alpha04/7.1.0-alpha05 من AGP، قد تواجه الخطأ التالي:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    لحلّ هذه المشكلة، عليك زيادة minSdkVersion مؤقتًا إلى 24 أو إصدار أحدث في ملف build.gradle. سيتم حلّ هذه المشكلة في الإصدار التالي من Android Studio Bumblebee وAGP 7.1. (b/194289155)

الإصدار 1.0.0-rc02

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

تم إصدار androidx.compose.animation:animation:1.0.0-rc02 وandroidx.compose.animation:animation-core:1.0.0-rc02. يحتوي الإصدار 1.0.0-rc02 على هذه المراجعات.

الإصدار 1.0.0-rc01

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

تم إصدار androidx.compose.animation:animation:1.0.0-rc01 وandroidx.compose.animation:animation-core:1.0.0-rc01. يحتوي الإصدار 1.0.0-rc01 على هذه المراجعات.

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

  • تم نقل InfiniteAnimationPolicy إلى androidx.compose.ui:ui (I5eb09، b/160602714)

الإصدار 1.0.0-beta09

16 حزيران (يونيو) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta09 وandroidx.compose.animation:animation-core:1.0.0-beta09. يحتوي الإصدار 1.0.0-beta09 على هذه المراجعات.

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

  • AnimatedContent قابلة للتجميع جديدة وتدير هذه الميزة عملية تغيير المحتوى باستخدام ContentTransform قابل للتخصيص عندما يتم إدخال محتوى مستهدَف جديد وإزالة المحتوى الأوّلي. يمكن استخدام مجموعة مختلفة من عمليات النقل عند الظهور والخروج لإنشاء مظهر ومقتطف مخصّصَين. كجزء من عملية تحويل المحتوى، يغيّر AnimatedContent حجمه تلقائيًا ليلائم المحتوى الوارد. (I2c3df)
  • تمت إزالة ManualFrameClock. إذا كنت بحاجة إلى التحكّم في الصور المتحركة، استخدِم composeTestRule.mainClock بدلاً من ذلك. (I3c3e8، b/189951065)

قواعد الملفات التجارية المُضافة

يضيف هذا الإصدار قواعد الملف الشخصي إلى وحدات الإنشاء التالية (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

ما هي قواعد الملفات الشخصية؟

  • يتم تحديد قواعد الملف الشخصي للمكتبة في ملف نصي baseline-prof.txt في الدليل src/main أو الدليل المكافئ. يحدِّد الملف قاعدة لكل سطر، حيث تكون القاعدة في هذه الحالة نمطًا لمطابقة الطرق أو الفئات في المكتبة. بنية هذه القواعد هي مجموعة فائقة من تنسيق الملف الشخصي ART القابل للقراءة من قِبل المستخدمين والذي يتم استخدامه عند استخدام adb shell profman --dump-classes-and-methods .... تتّخذ هذه القواعد أحد شكلَين لاستهداف الطرق أو الفئات.

  • سيكون لقاعدة الطريقة النمط التالي:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • وسيكون لنمط قاعدة الفئة الشكل التالي:

    <CLASS_DESCRIPTOR>
    
  • يشير الرمز <FLAGS> إلى حرف واحد أو أكثر من الأحرف H وS وP للإشارة إلى ما إذا كان يجب وضع علامة على هذه الطريقة على أنّها "مهام نشطة" أو "مهام بدء التشغيل" أو "مهام ما بعد بدء التشغيل".

  • <CLASS_DESCRIPTOR> هو الوصف للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، سيكون للفئة androidx.compose.runtime.SlotTable وصف Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> هو توقيع الطريقة، ويتضمّن الاسم وأنواع المَعلمات وأنواع النتائج للطريقة. على سبيل المثال، تحتوي الطريقة fun isPlaced(): Boolean في LayoutNode على التوقيع isPlaced()Z.

  • يمكن أن تحتوي هذه الأنماط على أحرف بدل (** و* و?) لكي تتضمّن قاعدة واحدة طرقًا أو فئات متعددة.

ما هي وظيفة القواعد؟

  • تشير الطريقة التي تحمل العلامة H إلى أنّ هذه الطريقة "ساخنة"، ويجب تجميعها مسبقًا.

  • تشير الطريقة التي تحمل العلامة S إلى أنّها طريقة يتمّ استدعاؤها عند بدء التشغيل، ويجب تجميعها مسبقًا لتجنّب تكلفة التجميع وتفسير الطريقة في وقت بدء التشغيل.

  • تشير الطريقة التي تحمل العلامة P إلى أنّها طريقة يتمّ استدعاؤها بعد بدء التشغيل.

  • تشير الفئة المتوفّرة في هذا الملف إلى أنّها مستخدَمة أثناء بدء التشغيل ويجب تخصيصها مسبقًا في الحِزمة لتجنب تكلفة تحميل الفئة.

آلية العمل

  • يمكن للمكتبات تحديد هذه القواعد التي سيتم تجميعها في عناصر AAR. عند إنشاء تطبيق يتضمّن هذه العناصر، يتم دمج هذه القواعد معًا ويتم استخدام القواعد المدمجة لإنشاء ملف تعريف ART ثنائي مكثّف خاص بالتطبيق. ويمكن بعد ذلك لـ ART الاستفادة من هذا الملف الشخصي عند تثبيت التطبيق على الأجهزة من أجل تجميع مجموعة فرعية معيّنة من التطبيق مسبقًا لتحسين أداء التطبيق، لا سيما في التشغيل الأول. يُرجى العلم أنّ هذا الإجراء لن يؤثر في التطبيقات التي يمكن تصحيح أخطاءها.

الإصدار 1.0.0-beta08

2 حزيران (يونيو) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta08 وandroidx.compose.animation:animation-core:1.0.0-beta08. يحتوي الإصدار 1.0.0-beta08 على هذه المراجعات.

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

  • ستستهلك الآن detectDragGesures وdetectVerticalGestures وdetectHorizontalGestures تغيير الموضع تلقائيًا، ولن يكون هناك حاجة إلى استدعاء change.consumePositionChange في طلبات إعادة الاتصال onDrag (I42fc4 وb/185096350 وb/187320697).
  • تم تغيير Modifier.onGloballyPositioned() للإبلاغ عن إحداثيات هذا المُعدِّل في سلسلة المُعدِّلات، وليس إحداثيات التنسيق بعد تطبيق جميع المُعدِّلات. وهذا يعني أنّ ترتيب المُعدِّلات يؤثّر الآن في الإحداثيات التي سيتم الإبلاغ عنها. (Ieb67d، b/177926591)

الإصدار 1.0.0-beta07

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

تم إصدار androidx.compose.animation:animation:1.0.0-beta07 وandroidx.compose.animation:animation-core:1.0.0-beta07. يحتوي الإصدار 1.0.0-beta07 على هذه المراجعات.

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

  • واجهة برمجة تطبيقات AnimatedVisibility جديدة تتيح تحديد مستوى العرض في MutableTransitionState ويسمح ذلك أيضًا برصد حالات الصور المتحركة خارج AnimatedVisibility من خلال currentState وisIdle.
    • ميزات جديدة لدعم نقل حساب الطفل في ميزة "الانتقال"
    • إتاحة تأثير مخصّص للانتقال عند الدخول أو الخروج في AnimatedVisibility باستخدام AnimationScope.transition
    • مُعدِّل animateEnterExit الجديد الذي يمكن الوصول إليه لجميع عناصر AnimatedVisibility
    • إيقاف واجهات برمجة التطبيقات AnimatedVisibility التي تأخذ مَعلمة initiallyVisible نهائيًا (I702f3)

الإصدار 1.0.0-beta06

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

تم إصدار androidx.compose.animation:animation:1.0.0-beta06 وandroidx.compose.animation:animation-core:1.0.0-beta06. يحتوي الإصدار 1.0.0-beta06 على هذه المراجعات.

الإصدار 1.0.0-beta05

21 نيسان (أبريل) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta05 وandroidx.compose.animation:animation-core:1.0.0-beta05. يحتوي الإصدار 1.0.0-beta05 على هذه المراجعات.

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

  • أصبحت ملفات AndroidManifest من ui-test-manifest و ui-tooling-data متوافقة الآن مع Android 12 (I6f9de، b/184718994).

الإصدار 1.0.0-beta04

7 نيسان (أبريل) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta04 وandroidx.compose.animation:animation-core:1.0.0-beta04. يحتوي الإصدار 1.0.0-beta04 على هذه المراجعات.

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

  • تمّت إزالة النُسخ العلنية من RowScope وColumnScope وBoxScope وBoxWithConstraintsScope. (I4e83e، b/181869067)

الإصدار 1.0.0-beta03

24 آذار (مارس) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta03 وandroidx.compose.animation:animation-core:1.0.0-beta03. يحتوي الإصدار 1.0.0-beta03 على هذه المراجعات.

الإصدار 1.0.0-beta02

10 آذار (مارس) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-beta02 وandroidx.compose.animation:animation-core:1.0.0-beta02. يحتوي الإصدار 1.0.0-beta02 على هذه المراجعات.

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

  • فرض قيود على الاستخدام العلني لواجهات برمجة التطبيقات التجريبية (I6aa29 وb/174531520)

الإصدار 1.0.0-beta01

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

تم إصدار androidx.compose.animation:animation:1.0.0-beta01 وandroidx.compose.animation:animation-core:1.0.0-beta01. يحتوي الإصدار 1.0.0-beta01 على هذه المراجعات.

هذا هو الإصدار الأول من الإصدار التجريبي من Compose 1.0.0.

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

  • تم استبدال InteractionState بـ [Mutable]InteractionSource
    • تتحمّل الواجهات مسؤولية إصدار أحداث التفاعل أو جمعها.
    • بدلاً من تمرير interactionState = remember { InteractionState() } إلى مكوّنات مثل Button وModifier.clickable()، استخدِم interactionSource = remember { MutableInteractionSource() }.
    • بدلاً من: Interaction.Pressed in interactionState، يجب استخدام دوالّ الإضافة في InteractionSource، مثل InteractionSource.collectIsPressedAsState().
    • بالنسبة إلى حالات الاستخدام المعقّدة، يمكنك استخدام InteractionSource.interactions لمراقبة بث التفاعلات. اطّلِع على مستندات InteractionSource وعينات منها للحصول على مزيد من المعلومات.
    • (I85965 وb/152525426 وb/171913923 وb/171710801 وb/174852378)
  • تم تغيير حِزم الطريقتَين smoothScrollBy وscrollBy إلى androidx.compose.foundation.gestures.* (I3f7c1 وb/175294473)
  • تمّت إعادة تسمية مُعدِّلات المقاس. تمت إعادة تسمية Modifier.width/height/size إلى requiredWidth/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.preferredWidth/preferredHeight/preferredSize إلى width/height/size. (I5b414)
  • تم نقل اتجاه الشاشة إلى حزمة الأساس. تم نقل VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8، b/175294473)
  • تمت إزالة AnimationClockObservable وفئاتها الفرعية. تمت إزالة AnimatedFloat. (Icde52، b/177457083)
  • يقبل Modifier.draggable الآن DraggableState بدلاً من دالة lambda بسيطة. يمكنك إنشاء حالة من خلال rememberDraggableState { delta -> } للحصول على السلوك نفسه كما في السابق (Ica70f، b/175294473).
  • تمت إزالة واجهات برمجة التطبيقات animate وanimatedValue وAnimatedValue (If27bc، b/177457083)
  • تمت إزالة AnimationEndReason.Interrupted. سيتم طرح CancellationException في حال انقطاع الحركة. (I2cbbc، b/179695417)
  • تمّت إزالة TargetAnimation API. (If47d1، b/177457083)

الإصدار 1.0.0-alpha12

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

تم إصدار androidx.compose.animation:animation:1.0.0-alpha12 وandroidx.compose.animation:animation-core:1.0.0-alpha12. يحتوي الإصدار 1.0.0-alpha12 على هذه المراجعات.

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

  • يتطلب Modifier.pointerInput الآن تذكُّر المفاتيح للإشارة إلى الوقت الذي يجب فيه إعادة تشغيل دالة التشغيل المتعدّد المهام لرصد إدخال المؤشر لأجل التبعيات الجديدة. (I849cd)
  • تمت إعادة تسمية Bounds إلى DpRect (I4b32a).
  • تم توحيد اسم المَعلمة AnimationSpec إلى animationSpec في نظام الرسوم المتحركة. يمكنك أيضًا تقييد الانتقال إلى/من الشاشة لقبول FiniteAnimationSpec. (Ie47c5، b/177457083)
  • أصبحت الدالتان Animatable.snapTo وAnimatable.stop الآن وظيفتَي تعليق (If4288).
  • على غرار الطريقة التي أزلنا بها سابقًا مكونات state { 0 } وشجّعنا الآن على استخدام مكونات مثل remember { mutableStateOf(0) }، سنزيل مكونات savedInstanceState { 0 }. يجب استخدام rememberSaveable { mutableStateOf(0) } بدلاً من ذلك، وسيتم حفظه واستعادته تلقائيًا إذا كان من الممكن تخزين النوع المستخدَم داخل MutableState في الحِزمة. إذا كنت في السابق تمرّر عنصر حفظ مخصّصًا، عليك الآن استخدام طريقة تحميل زائدة جديدة من rememberSaveable تحتوي على المَعلمة stateSaver. سيظهر الاستخدام على النحو التالي: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26، b/177338004)
  • تم تعديل توقيع طريقة Crossfade ليكون أكثر اتساقًا مع بقية نظام الرسوم المتحركة. (Ib05ed، b/177457083)
  • تمت إعادة تسمية الدالة rememberSavedInstanceState() إلى rememberSaveable() وتم نقلها إلى الحزمة androidx.compose.runtime.saveable. (I1366e، b/177338004)
  • تمت إعادة تسمية فئة RestorableStateHolder إلى SaveableStateHolder وتم نقلها إلى حزمة androidx.compose.runtime.saveable. تمت إعادة تسمية الطريقة الداخلية RestorableStateProvider إلى SaveableStateProvider. تمت إزالة النوع العام حتى تتمكّن من تمرير Any كمفتاح. لم تعُد هناك حاجة إلى التعليق التوضيحي التجريبي. (I0902e، b/174598702)
  • تم تعديل واجهة برمجة التطبيقات Modifier.animateContentSize لتصبح متسقة مع بقية نظام الرسوم المتحركة. (I0bf75، b/177457083)
  • تم إيقاف AnimatedValue/Float نهائيًا. يُرجى استخدام Animatable بدلاً من ذلك. (I71345، b/177457083)
  • تم إيقاف tapGestureFilter وdoubleTapGestureFilter وlongPressGestureFilter وpressIndicaitonGestureFilter نهائيًا. استخدِم Modifier.clickable أو Modifier.pointerInput مع الدالة detectTapGestures بدلاً من ذلك. (I6baf9، b/175294473)
  • تمّ تقديم InfiniteAnimationPolicy عنصر سياق coroutine الذي سيتم تطبيقه في الصور المتحركة التي لا تنتهي. لا يتم تلقائيًا تثبيت أي سياسة، إلا عند إجراء الاختبارات باستخدام ComposeTestRule. (I50ec4، b/151940543)
  • تمت إزالة طريقتَي تحليل البنية وcopy()‎ من عدة فئات حيث نادرًا ما كانتا تُستخدَمَين. (I26702، b/178659281)
  • تم الآن إلغاء ربط وقت التشغيل في الصور المتحركة بنانو ثانية (If776a).
  • تم إيقاف العنصر compose:runtime-dispatch نهائيًا. يمكن الآن العثور على MonotonicFrameClock في compose:runtime و AndroidUiDispatcher في compose:ui. (Ib5c36)
  • تمت إضافة Animation.isInfinite و VectorizedAnimationSpec.isInfinite للإشارة إلى ما إذا كانت الصورة المتحركة لانهائية أم لا. ويمكن استخدام هذا في عمليات تنفيذ الصور المتحركة لتطبيق معالجة خاصة لهذه الصور. على سبيل المثال، يمكن عرض رسالة خاصة "وقت المتبقّي"، أو يمكن أثناء الاختبارات إلغاء الصورة المتحركة لمنع الانتظار إلى أجل غير مسمى. (Iebb05، b/151940543)
  • استخدِم Long بدلاً من Uptime كنوع وقت عرض الصورة المتحركة (Ie3aa7، b/177420019)

الإصدار 1.0.0-alpha11

28 كانون الثاني (يناير) 2021

تم إصدار androidx.compose.animation:animation:1.0.0-alpha11 وandroidx.compose.animation:animation-core:1.0.0-alpha11. يحتوي الإصدار 1.0.0-alpha11 على هذه المراجعات.

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

  • تم إيقاف العنصر Transition المستنِد إلى TransitionDefinition نهائيًا (I0ac57)
  • تمت إضافة حقل تصنيف لعملية النقل والرسوم المتحرّكة الثانوية لعرضها في الأدوات (I619fb)
  • أصبح animateAsState الآن animateFooAsState، حيث Foo هو نوع المتغيّر الذي يتمّ تطبيق مؤثرات عليه، مثل Float وDp وOffset وما إلى ذلك (Ie7e25).
  • انتقال جديد لا نهائي يشغّل أي عدد من الرسوم المتحركة التابعة (I1da81)
  • تغيير واجهات مَعلمات Material التي تتضمّن حالة لتوفير دوال @Composable تُعرِض State<T> إضافة Animatable.asState() لتسهيل تحويل عنصر Animatable إلى حالة يُغيّر أيضًا animateElevation ليصبح إضافة تعليق في Animatable. (If613c)

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

  • تم إيقاف وظائف onCommit وonDispose وonActive نهائيًا لصالح واجهات برمجة التطبيقات SideEffect وDisposableEffect (If760e)
  • أصبح بالإمكان الآن استخدام الحالة الأولية في updateTransition (Ifd51d).
  • تمت إضافة مَعلمة وصف المحتوى إلى "الصورة" و"الرمز". يتم استخدامه لتوفير وصف لخدمات تسهيل الاستخدام (I2ac4c).
  • تم إيقاف invalidate وcompositionReference() نهائيًا الآن لصالح currentRecomposeScope وrememberCompositionReference على التوالي. (I583a8)
  • سيتم استبدال Duration وUptime بـ Long milliseconds، وتؤدي هذه الخطوة إلى إزالة الاعتماد على إدخال المؤشر في هذين الصنفين. (Ia33b2، b/175142755، b/177420019)
  • يمكن الآن إنشاء عناصر قابلة للنقر والتبديل والاختيار خارج التركيب (I0a130 وb/172938345 وb/175294473).
  • تم تغيير ميزة "التخفيف" إلى واجهة وظيفية (Ib14e5).
  • طريقة إنشاء items(count: Int) جديدة لنطاق LazyColumn/LazyRow/LazyVerticalGrid أصبحت الدالتان items(items: List) وitemsIndexed(items: List) الآن دوالّ إضافية، لذا عليك استيرادهما يدويًا عند استخدامهما. وظائف إضافية جديدة للصفائف: items(items: Array) وitemsIndexed(Array) (I803fc، b/175562574)
  • الاستفادة من TestCoroutineDispatcher في الاختبار (I532b6)
  • تمّت إزالة PointerInputData وتعديل PointerInputChange لإعطائه جميع حقول PointerInputData. تمّ جعل PointerInputEvent وPointerInputEventData داخليَين لأنّهما لا يتم استخدامهما في أيّ واجهة برمجة تطبيقات علنية. (Ifff97، b/175142755)

الإصدار 1.0.0-alpha10

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

تم إصدار androidx.compose.animation:animation:1.0.0-alpha10 وandroidx.compose.animation:animation-core:1.0.0-alpha10. يحتوي الإصدار 1.0.0-alpha10 على هذه المراجعات.

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

  • تم تعديل Velocity لتشمل أجزاء مكوّنة وعمليات حسابية. (Ib0447)
  • تمت إعادة تسمية @ExperimentalTesting إلى @ExperimentalTestApi لتكون متسقة مع التعليقات التوضيحية المشابهة لواجهة برمجة التطبيقات التجريبية (Ia4502 وb/171464963).
  • تمت إعادة تسمية Position إلى DpOffset وإزالة getDistance()‎ (Ib2dfd)
  • إزالة واجهة برمجة التطبيقات العامة Any.identityHashCode()‎ (I025d7)

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

  • واجهة برمجة تطبيقات جديدة مستندة إلى وظائف الاستدعاء المتعدّد Animatable تضمن التداخل المتبادل بين الرسومات المتحركة سمة DecayAnimationSpec جديدة لتتوافق مع الصور المتحركة المتعدّدة الأبعاد (I820f2، b/168014930)
  • تم استبدال animate() الآن بـ animateAsState()، الذي يعرض State<T> بدلاً من T. يتيح ذلك تحسين الأداء، لأنّه يمكن تضييق نطاق الإبطال إلى حيث تتم قراءة قيمة State. (Ib179e)

الإصدار 1.0.0-alpha09

16 كانون الأول (ديسمبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha09 وandroidx.compose.animation:animation-core:1.0.0-alpha09. يحتوي الإصدار 1.0.0-alpha09 على هذه المراجعات.

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

  • تم نقل Dp.VectorConverter وPosition.VectorConverter وما إلى ذلك إلى animation-core، وتم إيقاف VectorConveters القديمة نهائيًا (If0c4b).
  • تمّت إضافة مجموعة جديدة تمامًا من واجهات برمجة التطبيقات الخاصة بالانتقالات مع تحسين سهولة الاستخدام وتوفير إمكانية استخدام الصور المتحركة المُضافة ديناميكيًا واستهدافات الصور المتحركة التي يتم احتسابها ديناميكيًا. تم وضع علامة "تجريبية" على واجهات برمجة التطبيقات هذه بهدف تمييزها بسهولة عن واجهة برمجة التطبيقات المستندة إلى TransitionDefinition. (Ia7fe3)

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

  • تعرِض الآن دالات Lambda في مُعدِّلات البادئة IntOffset بدلاً من Float. (Ic9ee5، b/174137212، b/174146755)
  • إيقاف LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed نهائيًا استخدِم LazyColumn وLazyRow بدلاً من ذلك (I5b48c).
  • بالنسبة إلى واجهات برمجة التطبيقات الخاصة بتعليق إدخال مؤشر الماوس، تمت إعادة تسمية دالة HandlePointerInputScope إلى AwaitPointerEventScope ودالة handlePointerInput() إلى awaitPointerEventScope(). (Idf0a1، b/175142755)
  • دالة infiniteRepeatable جديدة لإنشاء InfiniteRepeatableSpec (I668e5)
  • تمت إزالة التعليق التوضيحي ExperimentalPointerInput (Ia7a24)

الإصدار 1.0.0-alpha08

2 كانون الأول (ديسمبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha08 وandroidx.compose.animation:animation-core:1.0.0-alpha08. يحتوي الإصدار 1.0.0-alpha08 على هذه المراجعات.

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

  • تمت إضافة فحص أخطاء لأسماء مَعلمات lambda القابلة للتجميع وموقعها، وذلك للتحقّق من اتّساقها مع إرشادات Compose. تم أيضًا نقل بعض واجهات برمجة التطبيقات التي تستخدم children كاسم لدالة lambda اللاحقة إلى content، وفقًا لفحص الأخطاء الإملائية والإرشادات. (Iec48e)
  • تمّت إزالة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا:
    • تمّت إزالة Modifier.onPositioned، استخدِم Modifier.onGloballyPositioned.
    • تمّت إزالة Modifier.onDraw، استخدِم Modifier.onDrawBehind.
    • تمّت إزالة Modifier.plus، استخدِم Modifier.then.
    • تمّت إزالة Color.Unset، استخدِم Color.Unspecified.
    • تمّت إزالة فئة PxBounds، استخدِم Rect بدلاً منها.
    • (Ie9d02، b/172562222)
  • تمت إضافة خيار مؤقت للسماح لـ TestAnimationClock بالاستناد إلى MonotonicFrameClock (I1403b، b/173402197)

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

  • تمت إعادة تسمية Modifier.drawLayer إلى Modifier.graphicsLayer كما تم تعديل الفئات ذات الصلة إلى GraphicsLayer وفقًا لملاحظات مجلس واجهة برمجة التطبيقات. (I0bd29، b/173834241)
  • تمت إضافة واجهات برمجة التطبيقات Modifier.scale/rotate لتسهيل استخدام drawLayer.
    • تمت إعادة تسمية Modifier.drawOpacity إلى Modifier.alpha
    • تمت إعادة تسمية Modifier.drawShadow إلى Modifier.shadow (I264ca، b/173208140)
  • جعلت حقلَي uptime و position في PointerInputData غير قابلَين للحذف. (Id468a)
  • تمت إعادة تسمية معدّلات offsetPx إلى offset. وهي الآن تستخدم مَعلمات lambda بدلاً من State. (Ic3021، b/173594846)
  • واجهات برمجة تطبيقات جديدة لتشغيل الرسوم المتحركة في وظائف التشغيل المتعدّد (Ied662)
  • تم إيقاف الخلفيات المُدمجة نهائيًا التي تحمل اللاحقة Ambient، وتم استبدالها بخصائص جديدة تحمل البادئة Ambient، وذلك باتّباع إرشادات الخلفيات المُدمجة وCompose API الأخرى. (I33440)
  • أصبح التحكم في الوقت في الاختبارات (TestAnimationClock واستخداماته) تجريبيًا الآن (I6ef86، b/171378521).
  • إزالة وحدة اختبار واجهة المستخدم القديمة ووحداتها النموذجية (I3a7cb)
  • تمت إعادة تسمية الدالة RestorableStateHolder.withRestorableState إلى RestorableStateProvider (I66640).
  • تم تعديل واجهة "المحاذاة" وجعلها صالحة للاستخدام. (I46a07، b/172311734)

الإصدار 1.0.0-alpha07

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

تم إصدار androidx.compose.animation:animation:1.0.0-alpha07 وandroidx.compose.animation:animation-core:1.0.0-alpha07. يحتوي الإصدار 1.0.0-alpha07 على هذه المراجعات.

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

  • تم إيقاف العناصر الأساسية AmbientTextStyle وProvideTextStyle وAmbientContentColor نهائيًا. بدلاً من ذلك، استخدِم الإصدارات الجديدة المتوفّرة في مكتبة Material. بالنسبة إلى التطبيقات غير المستندة إلى لغة Material، عليك بدلاً من ذلك إنشاء أنظمة تصميم خاصة بك لإنشاء تصاميم مناسبة للاستخدام في مكوناتك. (I74acc، b/172067770)
  • تم إيقاف عنصر foundation.Text نهائيًا واستبداله بعنصر material.Text. للحصول على واجهة برمجة تطبيقات نصية أساسية لا تتضمّن أي آراء ولا تستخدِم قيمًا من مظهر، اطّلِع على androidx.compose.foundation.BasicText. (If64cb)
  • تم نقل MeasureResult خارج MeasureScope. (Ibf96d، b/171184002)
  • تم نقل العديد من الرموز ذات الصلة بالتصميم من androidx.compose.ui إلى androidx.compose.layout.ui. (I0fa98، b/170475424)

الإصدار 1.0.0-alpha06

28 تشرين الأول (أكتوبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha06 وandroidx.compose.animation:animation-core:1.0.0-alpha06. يحتوي الإصدار 1.0.0-alpha06 على هذه المراجعات.

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

  • فعِّل الانتقالات في ComposeTestRule، وأزِل خيار تفعيل المؤشر المتمايل من ComposeTestRule. (If0de3)

الإصدار 1.0.0-alpha05

14 تشرين الأول (أكتوبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha05 وandroidx.compose.animation:animation-core:1.0.0-alpha05. يحتوي الإصدار 1.0.0-alpha05 على هذه المراجعات.

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

  • واجهة وفئتان فرعيتان جديدتان للصور المتحركة: تخزِّن هذه الفئات شرطَي البداية والنهاية للصور المتحركة، وبالتالي تسمح بالبحث عن القيمة والسرعة من خلال وقت التشغيل فقط (Ie95bd، b/163329867)

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

  • تمت إعادة تسمية OnPositionedModifier إلى OnGloballyPositionedModifier وonPositioned()‎ إلى onGloballyPositioned(). (I587e8، b/169083903)
  • إيقاف واجهتَي برمجة التطبيقات contentColor() وcurrentTextStyle() نهائيًا واستبدالهما بواجهتَي برمجة التطبيقات AmbientContentColor وAmbientTextStyle على التوالي يمكنك الوصول إلى القيمة الحالية باستخدام .current في السمة ambient، كما هو الحال مع أيّ سمة ambient أخرى. تم إجراء هذا التغيير من أجل الاتساق وتجنُّب توفُّر طرق متعدّدة لتحقيق النتيجة نفسها. بالإضافة إلى ذلك، تمت إعادة تسمية بعض السمات المحيطة لوصف الغرض منها بشكل أفضل على النحو التالي:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

الإصدار 1.0.0-alpha04

1 تشرين الأول (أكتوبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha04 وandroidx.compose.animation:animation-core:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على هذه المراجعات.

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

  • إضافة تعليقات توضيحية إلى rootAnimationClockFactory وtransitionsEnabled و blinkingCursorEnabled وtextInputServiceFactory باستخدام @VisibleForTesting، وجعلها واجهة برمجة تطبيقات داخلية وإخفاء kdoc (I554eb، b/168308412)

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

  • تم تعديل العديد من واجهات برمجة تطبيقات الرسومات
    • تم تعديل واجهات برمجة التطبيقات الخاصة بتحويلات الحجم والدوران للاستخدام المشترَك لمَعلمة Offset واحدة لتمثيل إحداثي محور الدوران بدلاً من استخدام مَعلمات float منفصلة لإحداثي x/y في DrawScope وDrawTransform
    • إزالة الطريقتَين Rect.expandToInclude وRect.join
    • تم تعديل مستندات "النطاق الجغرافي" لتشير إلى أنّه بيضاوي بالإضافة إلى بيضاوي الشكل.
    • تمت إضافة مستندات للإشارة إلى أنّه يجب عدم استدعاء ملف الإنشاء العلني لفئة Radius المضمّنة مباشرةً، ولكن بدلاً من ذلك يجب إنشاء مثيلات لعناصر Radius من خلال ملفّات إنشاء الدوالّ.
    • تمت إزالة واجهات برمجة تطبيقات RoundRect API لطلب topRight، bottomRight، bottomCenter، وما إلى ذلك.
    • إيقاف Rect.shift نهائيًا واستبداله بـ Rect.translate
    • إزالة واجهات برمجة التطبيقات RoundRect.grow وRect.shrink
    • تمت إعادة تسمية RoundRect.outerRect إلى Rect.boundingRect
    • تمّت إزالة RoundRect.middleRect/tallMiddleRect/wideMiddleRect وRect.isStadium
    • تمت إعادة تسمية RoundRect.longestSide إلى RoundRect.maxDimension
    • تمت إعادة تسمية RoundRect.shortestSide إلى RoundRect.minDimension
    • تم تغيير RoundRect.center ليصبح سمة بدلاً من دالة
    • تم تعديل عنصر الإنشاء RoundRect لاستخدام سمات Radius بدلاً من المَعلمات الفردية لقيم نصف القطر x/y.
    • تمّت إزالة واجهات برمجة التطبيقات الخاصة بالحجم التي كانت تفترض أنّه مستطيل مع أصل عند 0,0
    • تمت إضافة واجهة برمجة تطبيقات لإزالة البيانات إلى Radius
    • تم نقل دوالّ إضافة RoundRect المختلفة لتصبح سمات بدلاً من ذلك
    • (I8f5c7، b/168762961)
  • تم إيقاف foundation.Box نهائيًا. يُرجى استخدام foundation.layout.Box بدلاً من ذلك. (Ie5950، b/167680279)
  • تمت إعادة تسمية الحزمة إلى "علبة". سيتم إيقاف العنصر Box السابق نهائيًا واستبداله بالعنصر Box الجديد في compose.foundation.layout. يتمثل سلوك المربّع الجديد في تجميع العناصر الفرعية فوق بعضها عندما يكون لديه عناصر فرعية متعددة، ويختلف ذلك عن المربّع السابق الذي كان يتصرف بشكل مشابه للعمود. (I94893، b/167680279)
  • تم إيقاف مَعلمات زخرفة المربّع نهائيًا. إذا كنت تريد إضافة زخارف أو مسافات على مربّعك، استخدِم عناصر التعديل بدلاً من ذلك (Modifier.background وModifier.border وModifier.padding) (Ibae92، b/167680279)
  • منعنا عمليات الاستيراد الثابتة لمحتوى نطاقات التنسيق (مثل alignWithSiblings في RowScope). يجب استخدام البديل الصريح للنطاق بدلاً من ذلك: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be، b/166760797)

الإصدار 1.0.0-alpha03

16 أيلول (سبتمبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha03 وandroidx.compose.animation:animation-core:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.

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

  • تمت إعادة تسمية استخدامات الجاذبية بشكلٍ متسق لتصبح align أو alignment في واجهات برمجة تطبيقات التنسيق. (I2421a، b/164077038)

الإصدار 1.0.0-alpha02

2 أيلول (سبتمبر) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha02 وandroidx.compose.animation:animation-core:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.

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

  • تمت إضافة ManualFrameClock.hasAwaiters لمعرفة ما إذا كان هناك أي محتوى في انتظار إطار من هذه الساعة. تمت إضافة runWithManualClock كبديل لـ runBlocking عند إجراء اختبارات تحتاج إلى ManualFrameClock. TestUiDispatcher.Main يتيح الوصول بسهولة إلى أداة توزيع واجهة المستخدم الرئيسية في اختباراتك.

    مثلاً:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b، b/161247083)

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

  • تم إيقاف الإجراء onPreCommit نهائيًا، وأصبح الإجراء onCommit ينفِّذ الآن سلوك onPreCommit.

    يتم الآن تشغيل onCommit وonActive في إطار المصمّم الرائد نفسه الذي يتم فيه تنفيذ التغييرات في التركيب بدلاً من بداية إطار المصمّم الرائد التالي. (I70403)

الإصدار 1.0.0-alpha01

26 آب (أغسطس) 2020

تم إصدار androidx.compose.animation:animation:1.0.0-alpha01 وandroidx.compose.animation:animation-core:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.

الإصدار 0.1.0-dev

الإصدار 0.1.0-dev17

19 آب (أغسطس) 2020

تم إصدار androidx.compose.animation:animation:0.1.0-dev17 وandroidx.compose.animation:animation-core:0.1.0-dev17. يحتوي الإصدار 0.1.0-dev17 على عمليات الربط هذه.

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

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

  • أصبح "الموضع النسبي" فئة مضمّنة (Iaec70).
  • أصبحت IntOffset الآن فئة مضمّنة (Iac0bf).
  • أصبح IntSize الآن فئة مضمّنة (I2bf42).
  • تُنشئ سمة AnimatedVisibilty composable مؤثرًا متحركًا لظهور واختفاء المحتوى المخصّص للأطفال.

    تمّ تقديم EnterTransition وExitTransition للعمل مع ملف AnimatedVisibilty القابل للتجميع لتوفير 3 أنواع مختلفة من ملف الحركة للظهور أو الاختفاء: التمويه والانزلاق وتكبير/تصغير المحتوى. يمكن دمج الأنواع المختلفة من الصور المتحركة لتحقيق مظهر وأسلوب مخصّصَين بشكل أكبر. (Idda11)

  • تم إيقاف PxBounds نهائيًا واستخدام Rect بدلاً منه. تم تعديل جميع استخدامات PxBounds باستخدام rect وتمت إضافة علامة توضيحية مناسبة لإيقاف الميزة نهائيًا/استبدالها بهدف المساعدة في عملية نقل البيانات. (I37038، b/162627058)

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

  • تمت إعادة تسمية PlacementScope.placeAbsolute() إلى PlacementScope.place()، وتمّت إعادة تسمية PlacementScope.place() السابق إلى PlacementScope.placeRelative(). نتيجةً لذلك، لن تعكس طريقة PlacementScope.place() تلقائيًا الموضع في السياقات من اليمين إلى اليسار بعد الآن. وإذا أردت ذلك، استخدِم PlacementScope.placeRelative() بدلاً من ذلك. (I873ac، b/162916675)
  • تم إيقاف العنصر القابل للتجميع state { ... } نهائيًا، وأصبح من الأفضل استخدام طلبات صريحة لـ remember { mutableStateOf(...) } لزيادة الوضوح. ويؤدي ذلك إلى تقليل مساحة عرض واجهة برمجة التطبيقات الإجمالية وعدد المفاهيم المتعلّقة بإدارة الحالة، كما يتطابق مع نمط by mutableStateOf() لمنح إذن الوصول إلى سمة ملف التعريف. (Ia5727)

الإصدار 0.1.0-dev16

5 آب (أغسطس) 2020

تم إصدار androidx.compose.animation:animation:0.1.0-dev16 وandroidx.compose.animation:animation-core:0.1.0-dev16. يحتوي الإصدار 0.1.0-dev16 على هذه المراجعات.

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

  • يمكن الآن الوصول إلى محوِّلات المتجهات المضمّنة لتحويل ال units المضمّنة من خلال Foo.VectorConverter. على سبيل المثال، Dp.VectorConverter وColor.VectorConverter Float.VectorConverter وما إلى ذلك (I3e273)
  • إتاحة ميزة الاستماع إلى نهاية المحتوى في Modifier.animateContentSize() بحيث يتم إرسال إشعار إلى المستمع عند انتهاء الصورة المتحركة لتغيير الحجم، مع تضمين حجم البداية/النهاية للصورة المتحركة (I277b2)
  • مُعدِّل animateContentSize جديد يُنشئ صورة متحركة لتغيير حجم التنسيق في المُعدِّل التابع له (Ieffdc)
  • تمت إضافة MonotonicFrameAnimationClock التي تتيح لك استخدام MonotonicFrameClock كAnimationClockObservable لسد الفجوة بين الساعات الجديدة المستندة إلى وحدات معالجة المهام المتزامنة وواجهات برمجة التطبيقات التي لا تزال تستخدم الساعات القديمة المستندة إلى callback.

    أصبح MonotonicFrameClock المكافئ ManualAnimationClock الآن ManualFrameClock. (I111c7، b/161247083)

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

  • تم تعديل واجهات برمجة التطبيقات لتوفير إمكانية الكتابة من اليمين إلى اليسار. تمت إضافة LayoutDirectionAmbient، والتي يمكن استخدامها لقراءة اتجاه التنسيق وتغييره. تمّت إزالة Modifier.rtl وModifier.ltr. (I080b3)
  • يجب أن يكون النوع T محدّدًا بشكل صريح لـ transitionDefinition. (I1aded)
  • تم تسطيح حزمة foundation.shape.corner إلى foundation.share (I46491، b/161887429)
  • تم إيقاف Modifier.plus نهائيًا، ويمكنك استخدام Modifier.then بدلاً منه. تشير كلمة "ثم" إلى ترتيب الكلمات بشكل أقوى، كما أنّها تحظر أيضًا كتابة Modifier.padding().background() + anotherModifier، ما يؤدي إلى كسر السلسلة وصعوبة قراءتها (Iedd58، b/161529964)
  • تمت إعادة تسمية Modifier.drawBackground إلى Modifier.background (I13677)

الإصدار 0.1.0-dev15

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

تم إصدار androidx.compose.animation:animation:0.1.0-dev15 وandroidx.compose.animation:animation-core:0.1.0-dev15. يحتوي الإصدار 0.1.0-dev15 على هذه المراجعات.

تعديل التبعيات

  • لاستخدام الإصدار 0.1.0-dev15 من Compose، عليك تعديل التبعيات وفقًا لمقتطفات الرموز الجديدة الموضّحة أعلاه في تعريف التبعيات.

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

  • تم تغيير واجهة برمجة التطبيقات Transition API لعرض قيمة TransitionState بدلاً من تمرير قيمة TransitionState إلى العناصر الفرعية. ويجعل ذلك واجهة برمجة التطبيقات أكثر توافقًا مع واجهات برمجة التطبيقات animate()‎. (I24e38)
  • تمت إضافة مَعلمة المُعدِّل لتأثير "الانتقال المتداخل" (I87cfe، b/159706180)
  • استخدِم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى لتوضيح مفهوم مواصفات الصور المتحركة الثابتة
    • تحسين لغة الترميز المحدودة للانتقالات من خلال إزالة شرط استخدام lambda لإنشاء AnimationSpecs، مثل tween وspring بدلاً من ذلك، يتم استخدامparamمّات المُنشئ مباشرةً.
    • تحسين سهولة استخدام AnimationSpec بشكل عام من خلال فتح العوامل المُنشئة بدلاً من الاعتماد على أدوات الإنشاء
    • غيِّر المدة والتأخير لـ KeyFrames وTween إلى Int. يؤدي ذلك إلى إزالة عمليات تحويل النوع غير الضرورية وعمليات تحميل الطريقة الزائدة (لتتمكّن من استخدام كل من Long وInt). (Ica0b4)
  • تم استبدال استخدام IntPx بـ Int. وتم استبدال IntPxPosition بـ IntOffset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)
  • لتوحيد عدد الفئات المستخدَمة لتمثيل معلومات الحجم، يجب توحيد استخدام فئة Size بدلاً من PxSize. يقدّم ذلك مزايا الفئة المضمّنة للاستفادة من الطول لتعبئة قيمتَين عائمتَين لتمثيل العرض والارتفاع المقدَّمَين كقيم عائمة. (Ic0191)
  • لتوحيد عدد الفئات المستخدَمة لتمثيل معلومات تحديد الموضع، يجب توحيد استخدام فئة Offset بدلاً من PxPosition. يقدّم ذلك مزايا الفئة المضمّنة للاستفادة من قيمة طويلة لتعبئة قيمتَين عائمتَين لتمثيل الإزاحة x وإزاحة y التي تم تمثيلها كقيم عائمة. (I3ad98)
  • تم استبدال استخدام فئة Px في فئات compose المختلفة كجزء من جهد إعادة التشكيل الكبير للاعتماد فقط على Dp والأنواع الأساسية لمَعلمات البكسل (I086f4)
  • تمت إضافة إمكانية استخدام دالة animate() مع Dp وPx وSize وPosition وBounds وPxPosition وPxSize وPxBounds وIntPx وIntPxSize وIntPxPosition وIntPxBounds وAnimationVector (Ib7518)
  • يقبل التأثير الآن مَعلمة AnimationBuilder اختيارية للسماح بضبط الرسوم المتحركة (I6d6e0).
  • تم استبدال جميع استخدامات Color التي تتضمّن قيمة فارغة في واجهة برمجة التطبيقات باستخدام قيمة غير فارغة واستخدام Color.Unset بدلاً من null (Iabaa7)
  • تمّت إزالة فئة ValueHolder. تمّت إعادة هيكلة فئة AnimatedValue وفئة AnimatedFloat لجعل حقل قيمة الرسوم المتحركة مجردًا حتى تتمكّن الفئات الفرعية من مراقبة تعديل القيمة.
    • تمت إضافة فئات نماذج لـ AnimatedValue وAnimatedFloat وما إلى ذلك.
    • تمت إضافة مجموعة جديدة من واجهة برمجة التطبيقات @Composable API خفيفة الوزن لإنشاء تأثيرات متحركة بين القيم. (I79530)
  • تغييرات جذرية في واجهة برمجة التطبيقات Ambients API اطّلِع على السجلّات ومستندات Ambient<T> للحصول على التفاصيل (I4c7ee، b/143769776).
  • وضع تكرار جديد: عكسي يعكس هذا الوضع الخطوة السابقة مع تكرار الصورة المتحركة في RepeatableSpec أو VectorizedRepeatableSpec. (Ibe0f5)
  • إضافات واجهة برمجة التطبيقات إلى ManualAnimationClock: hasObservers: Boolean ومَعلمة المُنشئ dispatchOnSubscribe: Boolean (Iaa134)
  • تمت إضافة واجهات برمجة تطبيقات للحصول على الحدود الدنيا/العليا في AnimatedFloat‏ (Icd9cc).

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

  • تمت إعادة تسمية runOnIdleCompose إلى runOnIdle (I83607)
  • تمت إعادة تسمية العديد من واجهات برمجة التطبيقات للاختبار لتكون أكثر سهولة. تمت إعادة تسمية كل واجهات برمجة التطبيقات findXYZ إلى onNodeXYZ. تمت إعادة تسمية جميع واجهات برمجة التطبيقات doXYZ إلى performXYZ. (I7f164)
  • تمّ تقديم واجهات برمجة تطبيقات متعلّقة بالرسومات المتحركة ذات المستوى المنخفض والغير مستندة إلى حالة. واجهات برمجة التطبيقات هذه (I63bf7)
  • لم تعُد ميزة Recompose composable عنصرًا مجردًا مفيدًا. من المفترض أن تحدث معظم عمليات إعادة التركيب نتيجة عمليات تعيين MutableState. لأيّ شيء آخر، ننصحك باستخدام الدالة invalidate لإعادة تكوين النطاق الحالي. (Ifc992)
  • تم استبدال استخدام فئة Px في فئات compose المختلفة كجزء من جهد إعادة التشكيل الكبير للاعتماد فقط على Dp والأنواع الأساسية لمَعلمات البكسل. تم حذف فئة Px بالكامل (I3ff33)
  • تم استبدال استخدام فئة Px في فئات Compose المختلفة كجزء من جهد إعادة التشكيل الكبير للاعتماد فقط على Dp والأنواع الأساسية لمَعلمات البكسل (Id3434)
  • يمكن الآن استخدام Crossfade مع القيمة null كقيمة أولية (Iad6a4، b/155947711)
  • تم استبدال استخدام فئة Px في مختلف صفوف الإنشاء كجزء من جهد إعادة التشكيل الكبير للاعتماد فقط على Dp والأنواع الأساسية لمَعلمات البكسل (I19d02)
  • تم دمج عمليات تنفيذ CanvasScope ليصبح لدينا الآن DrawScope و ContentDrawScope تم تغيير اسم CanvasScope إلى DrawScope. تم تعديل DrawScope لتنفيذ واجهة Density وتوفير LayoutDirection تم حذف الفئة الفرعية DrawScope في ContentDrawScope تم تعديل Painter وPainterModifier لإيقاف الاحتفاظ بخاصية RTL بأنفسهما لأنّ DrawScope يوفّر ذلك بدون تقديمه يدويًا (I1798e)
  • تم تعديل واجهات برمجة التطبيقات التي تُنشئ رسومًا أكبر حجمًا لتعرض Canvas بدلاً من CanvasScope. ويؤدي ذلك إلى عدم إلزام المستهلكين بصيانة عناصر Paint الخاصة بهم. بالنسبة إلى المستهلكين الذين يحتاجون إلى الوصول إلى Canvas، يمكنهم استخدام أسلوب drawCanvas التابع للإضافة الذي يقدّم طلبًا للرجوع لإصدار تعليمات الرسم باستخدام Canvas الأساسية. (I80afd)
  • تمت إضافة المَعلمتَين verticalGravity وhorizontalGravity إلى Row وColumn على التوالي. (I7dc5a)
  • تمت إعادة تسمية وحدة ui-text باسم ui-text-core (I57dec)
  • تحسين DrawModifier API:
    • تمّ إنشاء نطاق المستلِم لـ draw() ContentDrawScope
    • إزالة جميع المَعلمات في draw()
    • تتضمّن DrawScope الواجهة نفسها التي كانت متوفّرة في CanvasScope سابقًا.
    • تحتوي ContentDrawScope على طريقة drawContent()‎ (Ibaced، b/152919067)
  • أصبحت runOnIdleCompose وrunOnUiThread الآن دوالّ عامة بدلاً من طرق في ComposeTestRule. (Icbe8f)
  • [قابلة للتغيير]تم نقل عوامل تشغيل تعيين سمة الحالة إلى الإضافات لإتاحة تحسينات تعيين السمات في Kotlin 1.4. على المتصلين إضافة عمليات الاستيراد لمواصلة استخدام by state { ... } أو by mutableStateOf(...). (I5312c)
  • تم إيقاف ColoredRect نهائيًا. استخدِم Box(Modifier.preferredSize(width, height).drawBackground(color)) بدلاً من ذلك. (I499fa، b/152753731)
  • تم استبدال عامل التشغيل "المعدِّل الإضافي" بدوال إضافات المصنع (I225e4)
  • عنصر قابل للتجميع في "المركز" تم إيقافه نهائيًا. يجب استبداله إما باستخدام المُعدِّل LayoutSize.Fill + LayoutAlign.Center أو باستخدام أحد العناصر القابلة للإنشاء Box أو Stack مع تطبيق مُعدِّلات مناسبة (Idf5e0).
  • تمت إعادة تسمية LayoutFlexible إلى LayoutWeight. تمت إعادة تسمية المَعلمة tight إلى fill. (If4738)
  • تم استبدال الدالة القابلة للتركيب "التعتيم" بالمُعدِّل drawOpacity. (I5fb62)
  • تقدّم الاختبارات التي تستخدِم AndroidComposeTestRule الآن رسومًا متحركة ساعة في جذر التركيب تتيح إيقافه مؤقتًا واستئنافه والتقدم فيه يدويًا. (Id54c5)
  • إتاحة الاتجاه من اليمين إلى اليسار في مُعدِّل LayoutPadding (I9e8da)
  • تم دمج Density وDensityScope في واجهة واحدة. بدلاً من ambientDensity()، يمكنك الآن استخدام DensityAmbient.current. بدلاً من withDensity(density)، يمكنك استخدام with(density) فقط (I11cb1).
  • تمت إضافة طرق نسخ إلى مختلف أنواع الفئات المضمّنة، بما في ذلك:
    • فرق التوقيت
    • الحجم
    • النطاق الجغرافي
    • الحركة
    • TransformOrigin
    • إيقاف طريقة عنصر Size.copy المصاحبة نهائيًا استخدام طريقة نسخ العنصر (Ife290، b/159905651)
  • تم نقل androidx.compose.ViewComposer إلى androidx.ui.node.UiComposer تمت إزالة androidx.compose.Emittable. كان هذا العنصر متكررًا مع ComponentNode. تمت إزالة androidx.compose.ViewAdapters. لم تعُد هذه الحالات من حالات الاستخدام المتوافقة. تم إيقاف Compose.composeInto نهائيًا. استخدِم setContent أو setViewContent بدلاً من ذلك. تم إيقاف Compose.disposeComposition نهائيًا. استخدِم طريقة dispose على Composition التي تم إرجاعها بواسطة setContent بدلاً من ذلك. تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto تم تغيير اسم ComponentNode#emitInsertAt إلى ComponentNode#insertAt تم تغيير اسم ComponentNode#emitRemoveAt إلى ComponentNode#removeAt تم تغيير اسم ComponentNode#emitMode إلى ComponentNode#move (Idef00)