Compose Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(الاطّلاع على مستندات مرجع واجهة برمجة التطبيقات لجميع حِزم Compose)
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 22 أكتوبر 2025 | 1.9.4 | - | 1.10.0-beta01 | - |
البنية
Compose هي مجموعة من 7 أرقام تعريف لمجموعات Maven ضمن androidx. تحتوي كل مجموعة على مجموعة فرعية مستهدَفة من الوظائف، ولكل منها مجموعة خاصة من ملاحظات الإصدار.
يوضّح هذا الجدول المجموعات ويتضمّن روابط لكل مجموعة من ملاحظات الإصدار.
| مجموعة | الوصف |
|---|---|
| compose.animation | إنشاء رسوم متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم |
| compose.compiler | تحويل دوال @Composable وإتاحة عمليات التحسين باستخدام مكوّن إضافي لمترجم Kotlin |
| compose.foundation | يمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع نطاق الأساس لإنشاء أجزاء نظام التصميم الخاص بك. |
| compose.material | يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design" الجاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في Compose، وهي مصمَّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة في www.material.io. |
| compose.material3 | يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design 3"، وهي التطوّر التالي في Material Design. يتضمّن الإصدار 3 من Material تصميمات ومكوّنات محدّثة وميزات تخصيص Material You، مثل الألوان الديناميكية، وهو مصمّم ليكون متوافقًا مع الأسلوب المرئي الجديد وواجهة مستخدم النظام في Android 12. |
| compose.runtime | الوحدات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي الذي يستهدفه مكوّن Compose الإضافي للمترجم. |
| compose.ui | المكوّنات الأساسية لواجهة مستخدم Compose اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال |
تحديد الاعتماديات
لإضافة اعتمادية على Compose، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
رائع
dependencies { implementation "androidx.compose.animation:animation:1.9.4" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.9.4") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.10
الإصدار 1.10.0-beta01
22 أكتوبر 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-beta01. يتضمّن الإصدار 1.10.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة طريقة المصنع
SharedContentConfigالتي تستخدم تعبير lambda للإشارة إلى ما إذا كان يجب تفعيل العنصر المشترَك. تم تعديل واجهة برمجة التطبيقاتlookheadScopeCoordinatesلتصبحLookaheadScopeهي نطاق المستلِم، مع استخدام إحداثيات المصدر كمَعلمة. (Id1fc2، b/452416806) - تم تعديل واجهة
BoundsTransformلتكون متوافقة معSizeTransform. (Ia46f2، b/343696350) - تمت إزالة واجهة برمجة التطبيقات
ScaleToBoundsالمتوقّفة نهائيًا. يُرجى استخدامscaleToBoundsبدلاً من ذلك. (I17296)
الإصدار 1.10.0-alpha05
8 أكتوبر 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-alpha05. يتضمّن الإصدار 1.10.0-alpha05 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أصبحت واجهات برمجة التطبيقات الخاصة بالانتقالات المشترَكة ثابتة الآن. لمزيد من المعلومات، يُرجى الاطّلاع على دليل العناصر المشترَكة. (I7167e).
الإصدار 1.10.0-alpha04
24 سبتمبر 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-alpha04. يتضمّن الإصدار 1.10.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم تعديل أسماء واجهات برمجة التطبيقات ذات الصلة بـ
PlaceHolderSize. (I037d8، b/343696350) - واجهة برمجة تطبيقات جديدة لنقل العناصر المشترَكة تتيح سرعة أولية لمواصلة سرعة الإيماءة في العناصر المشترَكة (I91be9)
الإصدار 1.10.0-alpha03
10 سبتمبر 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-alpha03. يتضمّن الإصدار 1.10.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تستخدم
Modifier.skipToLookaheadSizeالآن دالة lambda مفعّلة تلقائيًا لا تتيح تخطّي الحجم إلا عندما يكون الانتقال المشترَك نشطًا، تمامًا مثلModifier.skipToLookaheadPosition. (Ibe0f5، b/432485585)
الإصدار 1.10.0-alpha02
27 أغسطس 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-alpha02. يتضمّن الإصدار 1.10.0-alpha02 هذه التعديلات.
الإصدار 1.10.0-alpha01
13 أغسطس 2025
تم طرح androidx.compose.animation:animation-*:1.10.0-alpha01. يتضمّن الإصدار 1.10.0-alpha01 هذه التعديلات.
الميزات الجديدة
- واجهة برمجة تطبيقات جديدة تتيح تفعيل العناصر المشترَكة وإيقافها ديناميكيًا، كما تتيح احتساب ما إذا كان هناك انتقال حالي للعناصر المشترَكة.
- واجهة برمجة تطبيقات جديدة لإعداد حدود هدف بديلة عند التخلّص من العنصر المشترَك المستهدَف أثناء الانتقال
- واجهة برمجة تطبيقات جديدة للحصول على
LayoutCoordinatesLookaheadScope(I18dd4، b/409819304، b/395670637) - المعدِّل الجديد
Modifier.skipToLookaheadPositionفيSharedTransitionScopeلتثبيت تصميم في الموضع المستهدف أثناء الانتقال المشترك (I88734)
تغييرات واجهة برمجة التطبيقات
- تم تبسيط
renderInSharedTransitionOverlayمن خلال إزالة تعبيرclipInOverlayDuringTransitionlambda لأنّه نادرًا ما يتم استخدامه. تم تقديم طريقة مصنع جديدة لـSharedContentConfig. (Id01b2) - تمت إضافة مجموعة من الإعدادات التلقائية لعناصر مشتركة وحدود مشتركة وإعدادات
renderInSharedTransitionOverlay. يمكن الآن الوصول إلى هذه الإعدادات التلقائية من خلال واجهات برمجة التطبيقات العامة. (Id23cc) - تمت إعادة تسمية
ScaleToBoundsResizeMode إلىscaleToBounds(I5ac50)
إصلاح الأخطاء
- تغيير الحد الأدنى التلقائي لإصدار SDK من المستوى 21 لواجهة برمجة التطبيقات إلى المستوى 23 (Ibdfca، b/380448311، b/435705964، b/435705223)
الإصدار 1.9
الإصدار 1.9.4
22 أكتوبر 2025
تم طرح androidx.compose.animation:animation-*:1.9.4. يتضمّن الإصدار 1.9.4 هذه التعديلات.
الإصدار 1.9.3
8 أكتوبر 2025
تم طرح androidx.compose.animation:animation-*:1.9.3. يتضمّن الإصدار 1.9.3 هذه التعديلات.
الإصدار 1.9.2
24 سبتمبر 2025
تم طرح androidx.compose.animation:animation-*:1.9.2. يتضمّن الإصدار 1.9.2 هذه التعديلات.
الإصدار 1.9.1
10 سبتمبر 2025
تم طرح androidx.compose.animation:animation-*:1.9.1. يتضمّن الإصدار 1.9.1 هذه التعديلات.
إصلاح الأخطاء
- إصلاح مشكلة تهيئة الصورة المتحركة لـ
sharedElementWithCallerManagedVisibility(fa29de)
الإصدار 1.9.0
13 أغسطس 2025
تم طرح androidx.compose.animation:animation-*:1.9.0. يتضمّن الإصدار 1.9.0 هذه التعديلات.
الإصدار 1.9.0-rc01
30 يوليو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-rc01. يتضمّن الإصدار 1.9.0-rc01 هذه التعديلات.
الإصدار 1.9.0-beta03
16 يوليو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-beta03. يتضمّن الإصدار 1.9.0-beta03 هذه التعديلات.
الإصدار 1.9.0-beta02
2 يوليو 2022
تم طرح androidx.compose.animation:animation-*:1.9.0-beta02. يتضمّن الإصدار 1.9.0-beta02 هذه التعديلات.
الإصدار 1.9.0-beta01
18 يونيو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-beta01. يتضمّن الإصدار 1.9.0-beta01 هذه التعديلات.
الإصدار 1.9.0-alpha04
4 يونيو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-alpha04. يتضمّن الإصدار 1.9.0-alpha04 هذه التعديلات.
الإصدار 1.9.0-alpha03
20 مايو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-alpha03. يتضمّن الإصدار 1.9.0-alpha03 هذه التعديلات.
الإصدار 1.9.0-alpha02
7 مايو 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-alpha02. يتضمّن الإصدار 1.9.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تحسين كبير في إمكانية التمرير أو السحب في العناصر المشترَكة وبشكل أكثر تحديدًا، عند تمرير عنصر مشترك في مرحلة الانتقال، سيتم تطبيق الفرق في التمرير مباشرةً على العنصر المشترك بدلاً من جعل العناصر المشتركة تتبع الهدف الجديد. (cacf7b)
الإصدار 1.9.0-alpha01
23 أبريل 2025
تم طرح androidx.compose.animation:animation-*:1.9.0-alpha01. يتضمّن الإصدار 1.9.0-alpha01 هذه التعديلات.
التغييرات في السلوك
- تتطلّب عمليات التحقّق من Lint التي يتم شحنها مع Compose الآن توفُّر الإصدار 8.2.2 من "مكوّن Android الإضافي في Gradle" كحد أدنى. إذا لم تتمكّن من ترقية "مكوّن Android الإضافي في Gradle"، يمكنك بدلاً من ذلك ترقية Lint بشكلٍ منفصل باستخدام
android.experimental.lint.version=8.8.2(أو إصدار أحدث) فيgradle.properties. لتشغيل عمليات التحقّق من أخطاء Compose البرمجية داخل بيئة التطوير المتكاملة، يجب استخدام Android Studio Ladybug أو إصدار أحدث.
الميزات الجديدة
- تحسين أداء التنقّل في العناصر المشترَكة (ea4f1f)
تغييرات واجهة برمجة التطبيقات
- تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP. (Idb6b5)
- تم إيقاف الإجراءين
TabRowوScrollableTabRowنهائيًا واستبدالهما بالمتغيرَين الأساسي والثانوي لكل منهما. أصبحت صفوف علامات التبويب الأساسية والثانوية أكثر فعالية ودقةً وفقًا للمواصفات. (I918e2) - تمت إضافة
LocalResourcescomposition local للاستعلام عن الموارد. ستتم إعادة إنشاءLocalResources.currentعند تغيُّر الإعدادات، لذا ستعرض طلبات البيانات من واجهات برمجة التطبيقات، مثلstringResource()، قيمًا معدَّلة (I50c13، b/274786917).
إصلاح الأخطاء
- التأكّد من إزالة العناصر المشترَكة من التراكب عند انتهاء الانتقال (35f359)
- إزالة إعادة التركيب الإضافية في Transition (988923)
- إصلاح معالجة انقطاع الانتقال بين الأطفال (8aed52)
- التأكّد من إعادة ضبط الانتقال عند توفير
TransitionStateجديد (57820a)
المساهمة الخارجية
- من إنشاء
1.8.1: إنهاء الصور المتحركة فيSeekableTransitionStateإذا تجاوزت المدة الجديدة التي حدّدها Steven Schoen. (0c832c)
الإصدار 1.8
الإصدار 1.8.3
18 يونيو 2025
تم طرح androidx.compose.animation:animation-*:1.8.3. يتضمّن الإصدار 1.8.3 هذه التعديلات.
الإصدار 1.8.2
20 مايو 2025
تم طرح androidx.compose.animation:animation-*:1.8.2. يتضمّن الإصدار 1.8.2 هذه التعديلات.
الإصدار 1.8.1
7 مايو 2025
تم طرح androidx.compose.animation:animation-*:1.8.1. يتضمّن الإصدار 1.8.1 هذه التعديلات.
المساهمة الخارجية
- إنهاء الصور المتحركة في
SeekableTransitionStateإذا كانت المدة الجديدة قد انقضت شكرًا "ستيفن شون"! (fbcdf7)
الإصدار 1.8.0
23 أبريل 2025
تم طرح androidx.compose.animation:animation-*:1.8.0. يتضمّن الإصدار 1.8.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.7.0
- يمكنك الاطّلاع على التغييرات المهمة في الإصدار 1.8.0 في مشاركة المدونة هذه.
- واجهة برمجة تطبيقات
Modifier.animateBoundsجديدة لتحريك تغييرات الحجم والموضع ضمن نطاق البحث المسبق (94b939) - واجهات برمجة التطبيقات النهائية لإطارات المفاتيح مع الأقواس والمنحنيات (89e119)
- تفعيل ميزة "البحث الاستباقي" في
LazyGridوPager ويشمل ذلك التمييز بين تمرير التوقّع وتمرير الاقتراب في التمرير السريع، وتكوين العناصر/التخلص منها، وتحريك العناصر، واستخدام تمرير التوقّع كمصدر موثوق للتمرير السريع، واستهداف تحريك العناصر. - تم تعديل تسمية المَعلمة
sharedElementمن "الحالة" إلىsharedContentStateلتحقيق الاتساق في جميع واجهات برمجة التطبيقات للعناصر المشترَكة. (9e7df5) - أصبحت مجموعة واجهات برمجة التطبيقات
AnimatedImageVectorمستقرة الآن.(69d7e0)
الإصدار 1.8.0-rc03
9 أبريل 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-rc03. يتضمّن الإصدار 1.8.0-rc03 هذه التعديلات.
الإصدار 1.8.0-rc02
26 مارس 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-rc02. يتضمّن الإصدار 1.8.0-rc02 هذه التعديلات.
الإصدار 1.8.0-rc01
12 مارس 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-rc01. يتضمّن الإصدار 1.8.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة وضع علامة "مقاطعة" بشكل غير صحيح على عملية الانتقال الثابتة للعنصر الفرعي. (3fa2ce)
الإصدار 1.8.0-beta03
26 فبراير 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-beta03. يتضمّن الإصدار 1.8.0-beta03 هذه التعديلات.
الإصدار 1.8.0-beta02
12 فبراير 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-beta02. يتضمّن الإصدار 1.8.0-beta02 هذه التعديلات.
الإصدار 1.8.0-beta01
29 يناير 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-beta01. يتضمّن الإصدار 1.8.0-beta01 هذه التعديلات.
الإصدار 1.8.0-alpha08
15 يناير 2025
تم طرح androidx.compose.animation:animation-*:1.8.0-alpha08. يتضمّن الإصدار 1.8.0-alpha08 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح الرسوم المتحركة غير الصحيحة الخاصة بموضع الإعلان من
animateBoundsفيLazyGridبسبب إعادة ضبطMotionFrameOfReferencePlacement. (16193b) - تم إصلاح الاستعلام الجوهري في
SharedTransitionLayoutمن خلال إعادة توجيه الاستعلام الجوهري إلى عملية البحث المسبق من جذر البحث المسبق ذي المستوى الأعلى. (a07d12) - تمّت إضافة علامات
@paramالناقصة في المستندات. (e5cf67)
الإصدار 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في اللغات التي تُكتب من اليمين إلى اليسار. (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عندما لا يكون هناك انتقال قيد التشغيل من قِبل Steven Schoen (c2e6e7e6)
الإصدار 1.7
الإصدار 1.7.8
12 فبراير 2025
تم طرح androidx.compose.animation:animation-*:1.7.8. يتضمّن الإصدار 1.7.8 هذه التعديلات.
الإصدار 1.7.7
29 يناير 2025
تم طرح androidx.compose.animation:animation-*:1.7.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في اللغات التي تُكتب من اليمين إلى اليسار. (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عندما لا تكون هناك عملية انتقال قيد التشغيل شكرًا "ستيفن شون"! (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)- يستبدل
SeekableTransitionStatesnapTo()بـseekTo()، ويضيفsnapTo()يغيّر الحالة فورًا إلى حالة الوجهة بدون أي نوع من الرسوم المتحركة. - يمكنك الآن تمرير قيمة
periodicBias(عدد عشري) إلىkeyframesWithSpline، ما سيؤدي إلى تساوي السرعة الأولية والنهائية للخط المنحني. مفيدة للرسوم المتحركة المتكررة باستخدام خطوط الانحناء. يشير الانحياز إلى مقدار تعديل كل سرعة (أولية ونهائية) لتحقيق الدورية. (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من رسم عناصر التراكب أثناء الانتقال في ظروف معيّنة، والتي تشمل عادةً الاستخدام مع Navigation. (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 هذه التعديلات.
إصلاح الأخطاء
- يمكن الآن قراءة السمة Transition
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التجريبية الآن واجهة بدلاً من فئة، وذلك من إعداد Steven Schoen. (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)
المساهمة الخارجية
- محو وقت بدء الحركة بعد تحرّك/انطباق
SeekableTransitionStateبواسطة 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(عدد عشري) إلىkeyframesWithSpline، ما سيؤدي إلى تساوي السرعة الأولية والنهائية للخط المنحني. مفيدة للرسوم المتحركة المتكررة باستخدام خطوط الانحناء. يشير الانحياز إلى مقدار تعديل كل سرعة (أولية ونهائية) لتحقيق الدورية. (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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يستبدل
SeekableTransitionStatesnapTo()بـ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لتقدير أي قيمة ذات N بُعد باستخدام دوال spline الرتيبة. ويفيد ذلك بشكل خاص في استيفاء القيم الموضعية، مثلOffsetوIntOffsetوDpOffset. تمت إضافتها كواجهة برمجة تطبيقات تجريبية.
إصلاح الأخطاء
- إضافة إمكانية استخدام أداة العرض مع "التدرّج الدائري" في
ArcLine(I4d5bb) - نفِّذ الدالتَين equals وhashcode للسمة
PageSize.Fixed. (Ie3ede، b/300134276) - تم إصلاح مشكلة توافق الثنائيات مع تغيير Window Inset. (Iee695)
- إزالة الطبقة الأساسية للمادة من أجل Material3 Chip/Button لأنّ اختبارات الأداء الدقيقة تُظهر أداءً أفضل بدونها. (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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- نوع جديد من انتقالات الدخول/الخروج التي توسّع المحتوى أو تقلّصه استنادًا إلى حجم الحاوية المتحرّكة أثناء حركة الدخول والخروج أصبحت واجهة
LookaheadScopeComposable ووظائفها ثابتة الآن. (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()إلى أنواعها المتخصّصة المقابلة للعناصر الأساسية. رقم تعريف أداة Lint هوAutoboxingStateCreation. في السابق، كان يتم تفعيل عملية الفحص هذه تلقائيًا لجميع المشاريع. لعرض هذا التحذير في محرّر "استوديو Android" ونتائج 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 باستخدام
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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية
AnimatedContentAPIs are now stableAnimatedContentScopeإلى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إلا بعد انتهاء جميع عمليات معاودة الاتصال بالإطار. يتطابق ذلك مع سلوك Compose عند التشغيل بشكل طبيعي. ومع ذلك، قد تفشل الاختبارات التي تعتمد على السلوك القديم. يجب أن يؤثر ذلك فقط في الرمز الذي يستدعي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 باستخدام طرق الواجهة التلقائية في الإصدار 8 من حزمة تطوير البرامج (JDK) (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إذا كانت جهة التخطيط الحالية من اليمين إلى اليسار. (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 بشكل ثابت
- تحسينات على حجم عناصر اللمس المستهدَفة
- يُرجى العِلم أنّه في ما يتعلّق بالإصدار 1.0 من Compose، ستوسّع مكوّنات Material مساحة التنسيق لتلبية إرشادات تسهيل الاستخدام في Material بشأن حجم مساحة اللمس. على سبيل المثال، سيتم توسيع مساحة اللمس الخاصة بالزر إلى حدّ أدنى يبلغ 48x48dp، حتى إذا ضبطت حجم الزر على قيمة أصغر. يتوافق ذلك مع سلوك "مكوّنات Material Design" نفسه، ما يوفّر سلوكًا متسقًا في حال استخدام كلّ من "طرق العرض" و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 للتحقّق من المساواة بواسطة نظام الرسوم المتحركة. لذلك، يمكن تحقيق عملية مقارنة مخصّصة للحالات من خلال تحديد 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 هذه التعديلات.
إصلاح الأخطاء
- واجهات برمجة تطبيقات جديدة للصور المتحركة لدعم الأدوات على وجه التحديد، تتيح هذه السمة للأدوات فحص الصور المتحركة وإعداداتها في Transitions. (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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- واجهات برمجة تطبيقات جديدة للصور المتحركة لدعم الأدوات على وجه التحديد، تتيح هذه السمة للأدوات فحص الصور المتحركة وإعداداتها في Transitions. (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 هذه التعديلات.
الميزات الجديدة
- تم تعديل الإصدار
1.1.0-alpha03من Compose ليعتمد على الإصدار1.5.30من Kotlin. (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)
- انتقال جديد للدخول/الخروج من وضع ملء الشاشة يمكن استخدامها مع أنواع أخرى من Enter/ExitTransitions. (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 هذه التعديلات.
تم تعديلها لتتوافق مع إصدار Compose 1.0.2. لا يزال الإصدار 1.0.2 من Compose متوافقًا مع الإصدار 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 هذه التعديلات.
تحديثات الاعتماديات
- تم تعديلها لتعتمد على الإصدار
1.5.21من Kotlin.
الإصدار 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من "مكوّن Android الإضافي في Gradle"، قد يحدث العطل التالي:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"لحلّ هذه المشكلة، عليك زيادة minSdkVersion مؤقتًا إلى 24 أو أكثر في ملف
build.gradle. سيتم حلّ هذه المشكلة في الإصدار التالي من "استوديو Android Bumblebee" والمكوّن الإضافي لنظام Gradle المتوافق مع Android7.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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
AnimatedContentComposable جديد وتدير تغيير المحتوى باستخدام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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
AnimatedVisibilityAPI جديدة تتيح تحديد مستوى الظهور في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 Beta.
تغييرات واجهة برمجة التطبيقات
- تم استبدال "
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 بدلاً من تعبير لامدا بسيط. يمكنك إنشاء حالة من خلال
rememberDraggableState { delta -> }للحصول على السلوك نفسه كما كان من قبل (Ica70f، b/175294473) - تمت إزالة واجهات برمجة التطبيقات animate وanimatedValue وAnimatedValue (If27bc وb/177457083).
- تمت إزالة AnimationEndReason.Interrupted. سيتم طرح CancellationException إذا تمت مقاطعة الحركة. (I2cbbc، b/179695417)
- تمت إزالة واجهة برمجة التطبيقات TargetAnimation. (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 في جميع أنحاء نظام الرسوم المتحركة. يجب أيضًا تقييد Enter/ExitTransition لقبول 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سيتم تطبيقه في الصور المتحركة التي لا تنتهي. لا يتم تثبيت أي سياسة تلقائيًا، إلا عند إجراء اختبارات باستخدام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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم إيقاف عملية النقل المستندة إلى TransitionDefinition نهائيًا (I0ac57)
- تمت إضافة حقل تصنيف لعرض عمليات الانتقال والرسوم المتحركة الخاصة بالأطفال في الأدوات (I619fb)
- أصبح اسم animateAsState الآن animateFooAsState، حيث Foo هو نوع المتغير الذي يتم تحريكه، مثل Float وDp وOffset وما إلى ذلك (Ie7e25)
- New InfiniteTransition that runs any number of child animations. (I1da81)
- تغيير واجهات مَعلمات Material ذات الحالة إلى دوال @Composable تعرض
State<T>تمت إضافة Animatable.asState() لتسهيل تحويل Animatable إلى State. تغيير animateElevation أيضًا ليكون إضافة تعليق على Animatable (If613c)
إصلاح الأخطاء
- تم إيقاف onCommit وonDispose وonActive نهائيًا لصالح واجهتَي برمجة التطبيقات SideEffect وDisposableEffect (If760e)
- أصبحت الحالة الأولية في updateTransition متاحة الآن (Ifd51d)
- تمت إضافة مَعلمة وصف المحتوى إلى "الصورة" و"الرمز". يُستخدَم لتوفير وصف للخدمات المخصّصة لتسهيل الاستخدام (I2ac4c)
- تم الآن إيقاف invalidate وcompositionReference() نهائيًا واستبدالهما بـ currentRecomposeScope وrememberCompositionReference على التوالي. (I583a8)
- سيتم استبدال "المدة" و"وقت التشغيل" بـ "ملّي ثانية طويلة"، وتزيل هذه الخطوة التبعية لإدخال المؤشر في تلك الفئات. (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. يسمح ذلك بتحسين الأداء، إذ يمكن تضييق نطاق الإبطال إلى المكان الذي تتم فيه قراءة قيمة الحالة. (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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة فحص lint لأسماء مَعلمات lambda القابلة للإنشاء وموضعها، وذلك للتحقّق من التوافق مع إرشادات Compose.
تم أيضًا نقل بعض واجهات برمجة التطبيقات التي تستخدم
childrenكاسم لدالة lambda اللاحقة إلىcontent، وذلك وفقًا لفحص lint والإرشادات. (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)
- تم جعل حقلَي وقت التشغيل والموضع في PointerInputData غير قابلَين للتصغير. (Id468a)
- تمت إعادة تسمية معدِّلات offsetPx إلى offset. تتلقّى الآن مَعلمات lambda بدلاً من State. (Ic3021، b/173594846)
- واجهات برمجة تطبيقات جديدة لتشغيل الرسوم المتحركة في إجراءات روتينية (Ied662)
- تم إيقاف Ambients القديمة التي تحمل الاسم
Ambientكلاحقة، واستبدالها بخصائص جديدة تبدأ بـ Ambient، وذلك وفقًا لإرشادات Ambients الأخرى وواجهة برمجة تطبيقات Compose. (I33440) - أصبح التحكّم في الوقت في الاختبارات (TestAnimationClock واستخداماته) تجريبيًا الآن (I6ef86، b/171378521)
- إزالة وحدة ui-test القديمة ورموزها (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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- واجهة Animation الجديدة والفئات الفرعية: تخزّن هذه الفئات شروط البدء والانتهاء للصور المتحركة، وبالتالي تتيح الاستعلام عن القيمة والسرعة من خلال وقت التشغيل فقط (Ie95bd، b/163329867)
إصلاح الأخطاء
- تمت إعادة تسمية OnPositionedModifier إلى OnGloballyPositionedModifier وإعادة تسمية onPositioned() إلى onGloballyPositioned(). (I587e8، b/169083903)
إيقاف واجهتَي برمجة التطبيقات contentColor() وcurrentTextStyle() نهائيًا واستبدالهما بالبيئتين AmbientContentColor وAmbientTextStyle على التوالي يمكنك الوصول إلى القيمة الحالية باستخدام
.currentفي السمة المحيطة، كما هو الحال مع أي سمة محيطة أخرى. تم إجراء هذا التغيير للحفاظ على الاتساق وتجنُّب توفّر طرق متعددة لإنجاز المهمة نفسها. بالإضافة إلى ذلك، يعيد تسمية بعض السمات المحيطة لتوضيح الغرض منها بشكل أفضل على النحو التالي:- 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)
إصلاح الأخطاء
- تم تعديل العديد من واجهات برمجة تطبيقات الرسومات
- تم تعديل واجهات برمجة التطبيقات الخاصة بتحويل الحجم والتدوير لتستهلك مَعلمة إزاحة واحدة لتمثيل إحداثيات نقطة الارتكاز بدلاً من مَعلمات عائمة منفصلة لإحداثيات س/ص في DrawScope وDrawTransform
- تمت إزالة الطريقتَين Rect.expandToInclude وRect.join
- عدّلنا مستندات "نصف القطر" لتشير إلى الشكل البيضوي بالإضافة إلى الشكل الإهليلجي
- تمت إضافة مستندات للإشارة إلى أنّه يجب عدم استدعاء الدالة الإنشائية العامة لفئة Radius المضمّنة مباشرةً، بل يجب إنشاء عناصر Radius من خلال دوالها الإنشائية.
- تمت إزالة واجهات برمجة تطبيقات RoundRect للاستعلام عن 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 القديم نهائيًا واستخدام 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 هذه التعديلات.
إصلاح الأخطاء
- تمت إعادة تسمية استخدامات الجاذبية بشكلٍ متّسق إلى "محاذاة" أو "محاذاة" في واجهات برمجة تطبيقات التنسيق. (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 تحريك ظهور المحتوى الفرعي واختفائه.
تم تقديم 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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يمكن الآن الوصول إلى أدوات تحويل المتّجهات المضمّنة لتحويل الوحدات المضمّنة من خلال
Foo.VectorConverter. مثلاً:Dp.VectorConverter،Color.VectorConverter،Float.VectorConverter، وما إلى ذلك (I3e273) - إضافة أداة معالجة لحدث انتهاء العرض في
Modifier.animateContentSize()بحيث يتم إعلام أداة المعالجة عند انتهاء العرض المتحرك لتغيير الحجم، بالإضافة إلى حجم العرض المتحرك عند البدء والانتهاء. (I277b2) - معدِّل animateContentSize الجديد الذي يحرك تغيير حجم التنسيق الخاص بالمعدِّل الفرعي (Ieffdc)
تمت إضافة
MonotonicFrameAnimationClockالتي تتيح لك استخدام MonotonicFrameClock كـAnimationClockObservableلسد الفجوة بين الساعات الجديدة المستندة إلى الروتينات المشتركة وواجهات برمجة التطبيقات التي لا تزال تستخدم الساعات القديمة المستندة إلى عمليات معاودة الاتصال.أصبح سعر
ManualAnimationClockبالعملةMonotonicFrameClockهو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 بدلاً من تمريرها إلى العناصر التابعة. ويجعل ذلك واجهة برمجة التطبيقات أكثر اتساقًا مع واجهات برمجة التطبيقات animate(). (I24e38)
- تمت إضافة مَعلمة المعدِّل إلى Crossfade (I87cfe، b/159706180)
- استخدِم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى
لتوضيح مفهوم مواصفات الحركة الثابتة
- تم تحسين لغة DSL الخاصة بالانتقال من خلال إزالة شرط استخدام تعبير lambda لإنشاء AnimationSpecs، مثل tween وspring. بدلاً من ذلك، يتم تلقّي مَعلمات الدالة الإنشائية مباشرةً.
- تحسين سهولة الاستخدام العامة لـ 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)
- تقبل Crossfade الآن مَعلمة AnimationBuilder اختيارية للسماح بإعداد الرسوم المتحركة (I6d6e0)
- تم استبدال جميع استخدامات Color القابلة للتصغير في واجهة برمجة التطبيقات بأخرى غير قابلة للتصغير، واستخدام Color.Unset بدلاً من null (Iabaa7)
- تمت إزالة فئة ValueHolder. تمت إعادة هيكلة الفئتين AnimatedValue وAnimatedFloat لجعل حقل قيمة الحركة مجرّدًا حتى تتمكّن الفئات الفرعية من مراقبة تعديل القيمة.
- تمت إضافة فئات النماذج إلى AnimatedValue وAnimatedFloat وما إلى ذلك.
- تمت إضافة مجموعة جديدة من واجهات برمجة التطبيقات @Composable خفيفة الوزن لتفعيل الرسوم المتحركة بين القيم. (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 تجريدًا مفيدًا. يجب أن تحدث معظم عمليات إعادة التركيب نتيجة لعمليات تعيين MutableState. بالنسبة إلى أي شيء آخر، ننصحك باستخدام الدالة
invalidateلتفعيل إعادة إنشاء النطاق الحالي. (Ifc992) - تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة البناء الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل. تم حذف فئة Px بالكامل (I3ff33)
- تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة البناء الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل (Id3434)
- يمكن الآن استخدام Crossfade مع قيمة فارغة كقيمة أولية (Iad6a4، b/155947711)
- تم استبدال استخدام فئة Px في فئات Compose المختلفة كجزء من عملية إعادة التصميم الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل (I19d02)
- عمليات تنفيذ CanvasScope الموحّدة بحيث لا يتوفّر الآن سوى DrawScope و ContentDrawScope تمت إعادة تسمية CanvasScope إلى DrawScope. تم تعديل DrawScope لتنفيذ واجهة Density وتوفير LayoutDirection تم حذف فئة DrawScope الفرعية في ContentDrawScope تم تعديل Painter وPainterModifier لعدم الاحتفاظ بخاصية RTL بشكل منفصل، لأنّ DrawScope يوفّرها بدون الحاجة إلى توفيرها يدويًا (I1798e)
- تم تعديل واجهات برمجة التطبيقات ذات المستوى الأعلى في Compose التي تعرض 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) - تم نقل عوامل تشغيل تفويض السمة [Mutable]State إلى الإضافات
لإتاحة تحسينات تفويض السمة في Kotlin 1.4. على المتصلين إضافة عمليات استيراد لمواصلة استخدام
by state { ... }أوby mutableStateOf(...). (I5312c) - تم إيقاف ColoredRect نهائيًا. يمكنك استخدام
Box(Modifier.preferredSize(width, height).drawBackground(color))كبديل. (I499fa، b/152753731) - استبدال المعدِّل وعلامة الجمع بدوال إضافة المصنع (I225e4)
- تم إيقاف دالة Center البرمجية القابلة للإنشاء. يجب استبدالها إما بالمعدِّل LayoutSize.Fill + LayoutAlign.Center، أو بأحد العناصر القابلة للإنشاء Box أو Stack مع تطبيق المعدِّلات المناسبة (Idf5e0).
- تمت إعادة تسمية LayoutFlexible إلى LayoutWeight. تمت إعادة تسمية المَعلمة "ضيق" إلى "ملء". (If4738)
- تم استبدال الدالة القابلة للإنشاء Opacity بالمعدِّل 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)