إنشاء صورة متحركة
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(اطّلِع على مستندات مرجع واجهة برمجة التطبيقات لجميع حِزم 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 على هذه المراجعات.
إصلاح الأخطاء
- حلّ مشكلة التوافق مع
KeyframesSpec
(I2bdf3، b/322214617)
الإصدار 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
- يمكن استخدام تصنيف الأدوات في r
ememberInfiniteTransition
وجميع دوالّ الإضافة في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
ليصبح يعتمد على Kotlin1.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)
إصلاح الأخطاء
- تم نقل
InfiniteAnimationPolicy
إلى :compose:ui (I5eb09، b/160602714)
الإصدار 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 وAGP7.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") } }
إصلاح الأخطاء
تم إيقاف الإجراء 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)