إنشاء صورة متحركة
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(الاطّلاع على المستندات المرجعية لواجهة برمجة التطبيقات لكل حزم الإنشاء)
التعديل الأخير | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
10 يوليو 2024 | 1.6.8 | - | 1.7.0-beta05 | - |
البنية
الإنشاء هو تركيبة من 7 أرقام تعريف لمجموعة Maven ضمن androidx
. تحتوي كل مجموعة
على مجموعة فرعية مستهدفة من الوظائف، ولكل منها مجموعة خاصة من ملاحظات
الإصدار.
يوضح هذا الجدول المجموعات والروابط لكل مجموعة من ملاحظات الإصدار.
مجموعة | الوصف |
---|---|
compos.animation | يمكنك إنشاء صور متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم. |
compose.compiler | يمكنك تحويل دوال @Composable وتفعيل التحسينات باستخدام المكون الإضافي لبرنامج التحويل البرمجي لـ Kotlin. |
composation.foundation | يمكنك كتابة تطبيقات Jetpack Compose باستخدام الوحدات الأساسية الجاهزة للاستخدام وتوسيع الأساس لإنشاء أجزاء نظام التصميم الخاصة بك. |
compose.material | يمكنك إنشاء واجهات المستخدم في Jetpack Compose باستخدام عناصر التصميم المتعدد الأبعاد. وهي نقطة الدخول ذات المستوى الأعلى في Compose، والتي تم تصميمها لتوفير مكونات تطابق العناصر المذكورة في www.material.io. |
compose.material3 | يمكنك إنشاء واجهات المستخدم في Jetpack Compose باستخدام مكونات Material Design 3، وهي المراحل المتطوّرة التالية في Material Design. تتضمّن المادة 3 تصاميم ومكوّنات محدّثة وميزات تخصيص Material You مثل الألوان الديناميكية، وهي مصممة لتكون متوافقة مع النمط المرئي الجديد في Android 12 وواجهة مستخدم النظام. |
compose.runtime | هي الوحدات الأساسية التي يستند إليها نموذج البرمجة وإدارة الحالة في Compose، بالإضافة إلى وقت التشغيل الأساسي الذي يستهدفه المكوِّن الإضافي Compose Compiler Plugin. |
compos.ui | يجب استخدام المكونات الأساسية لواجهة مستخدم الإنشاء للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال. |
إعلان التبعيات
لإضافة تبعية إلى Compose، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven من Google للحصول على مزيد من المعلومات.
أضِف العناصر الاعتمادية الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
رائع
dependencies { implementation "androidx.compose.animation:animation:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. أخبرنا إذا اكتشفت مشكلات جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجِع مستندات "أداة تتبُّع المشاكل" للحصول على مزيد من المعلومات.
الإصدار 1.7
الإصدار 1.7.0-beta05
10 يوليو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-beta05
. يحتوي الإصدار 1.7.0-beta05 على عمليات الالتزام هذه.
إصلاح الأخطاء
- يمكن الآن قراءة خاصية النقل
totalDurationNanos
بشكل صحيح فيsnapshotFlow
.
الإصدار 1.7.0-beta04
26 يونيو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-beta04
. يحتوي الإصدار 1.7.0-beta04 على عمليات التنفيذ هذه.
الإصدار 1.7.0-beta03
12 يونيو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-beta03
. يحتوي الإصدار 1.7.0-beta03 على عمليات التنفيذ هذه.
الإصدار 1.7.0-beta02
29 مايو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-beta02
. يحتوي الإصدار 1.7.0-beta02 على عمليات التنفيذ هذه.
الإصدار 1.7.0-beta01
14 مايو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-beta01
. يحتوي الإصدار 1.7.0-beta01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- إصدار جديد من
resizeModes
(ScaleToBounds
وRemeasureToBounds
) لتطبيق "sharedBounds
" للاختيار بين تغيير الحجم وإعادة القياس تم إيقاف واجهات برمجة تطبيقاتscaleIn/OutSharedContentToBounds
السابقة نهائيًا. (I0d41a)
مساهمة خارجية
- تم تغيير الإصدار التجريبي من
SharedTransitionScope
ليصبح الآن واجهة وليس فئة. (Iaf856، b/338415048، b/338414702)
الإصدار 1.7.0-alpha08
1 مايو 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-alpha08
. تحتوي الإصدار 1.7.0-alpha08 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تم جعل
LookaheadScope
واجهة برمجة تطبيقات مستقرة. (I21507)
مساهمة خارجية
- محو وقت بدء تشغيل الصورة المتحركة بعد
SeekableTransitionState
الرسوم المتحركة أو التقاط الصور لستيفن شوين (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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تحلّ
SeekableTransitionState
محلّsnapTo()
بـseekTo()
، وتضيفsnapTo()
تغيّر الحالة على الفور إلى حالة الوجهة بدون أي نوع من الحركات.
الإصدار 1.7.0-alpha04
6 مارس 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-alpha04
. يحتوي الإصدار 1.7.0-alpha04 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- واجهة برمجة التطبيقات
Path.reverse()
الجديدة لعكس اتجاه المسار (I36348)
الإصدار 1.7.0-alpha03
21 فبراير 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-alpha03
. يحتوي الإصدار 1.7.0-alpha03 على هذه عمليات التنفيذ.
الميزات الجديدة
- قيمة
Modifier.animateContentSize
جديدة تتطلب مَعلمة إضافية لمحاذاة المحتوى المخصّص. (I5623a، b/269803907) - ميزة
DeferredTargetAnimation
التجريبية الجديدة لتحريك الحجم أو الموضع أو أي هدف آخر غير معروف أثناء إنشاء مثيل (I60745)
الإصدار 1.7.0-alpha02
7 فبراير 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-alpha02
. يحتوي الإصدار 1.7.0-alpha02 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- إصلاح التوافق مع
KeyframesSpec
. (I2bdf3، b/322214617) - تم إصلاح مشكلة عدم إعادة ضبط "
Modifier.animateContentSize
" على نحو سليم عند استخدامه في "LazyList
". (I070512، b/322525716) - تم إصلاح
IllegalStateException
فيKeyframesSpec
عند استخدام الطوابع الزمنية خارج النطاق. (I341b8، b/322839811)
الإصدار 1.7.0-alpha01
24 يناير 2024
تم طرح androidx.compose.animation:animation-*:1.7.0-alpha01
. يحتوي الإصدار 1.7.0-alpha01 على هذه عمليات التنفيذ.
الإصدار 1.6
الإصدار 1.6.8
12 يونيو 2024
تم طرح androidx.compose.animation:animation-*:1.6.8
. يحتوي الإصدار 1.6.8 على عمليات الالتزام هذه.
الإصدار 1.6.7
1 مايو 2024
تم طرح androidx.compose.animation:animation-*:1.6.7
. يحتوي الإصدار 1.6.7 على عمليات الالتزام هذه.
الإصدار 1.6.6
17 أبريل 2024
تم طرح androidx.compose.animation:animation-*:1.6.6
. لم يتم إجراء أي تغييرات منذ الإصدار السابق.
الإصدار 1.6.5
3 أبريل 2024
تم طرح androidx.compose.animation:animation-*:1.6.5
. يحتوي الإصدار 1.6.5 على عمليات الالتزام هذه.
الإصدار 1.6.4
20 مارس 2024
تم طرح androidx.compose.animation:animation-*:1.6.4
. يحتوي الإصدار 1.6.4 على عمليات الالتزام هذه.
الإصدار 1.6.3
6 مارس 2024
تم طرح androidx.compose.animation:animation-*:1.6.3
. يحتوي الإصدار 1.6.3 على عمليات الالتزام هذه.
الإصدار 1.6.2
21 فبراير 2024
تم طرح androidx.compose.animation:animation-*:1.6.2
. يحتوي الإصدار 1.6.2 على هذه الالتزامات.
الإصدار 1.6.1
7 فبراير 2024
تم طرح androidx.compose.animation:animation-*:1.6.1
. يحتوي الإصدار 1.6.1 على عمليات الالتزام هذه.
إصلاح الأخطاء
- إصلاح التوافق مع
KeyframesSpec
. (I2bdf3، b/322214617)
الإصدار 1.6.0
24 يناير 2024
تم طرح androidx.compose.animation:animation-*:1.6.0
. يحتوي الإصدار 1.6.0 على هذه الالتزامات.
الإصدار 1.6.0-rc01
10 يناير 2024
تم طرح androidx.compose.animation:animation-*:1.6.0-rc01
. يحتوي الإصدار 1.6.0-rc01 على هذه عمليات التنفيذ.
الإصدار 1.6.0-beta03
13 كانون الأول (ديسمبر) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-beta03
. يحتوي الإصدار 1.6.0-beta03 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- تمت إزالة
scaleInToFitContainer
وscaleOutToFitContainer
مؤقتًا منAnimatedContentTransitionScope
لأنّها تتطلب معاينة. ستكون متاحة عند تفعيل ميزة Lookout بشكل تلقائي أو تفعيلها في الإصدارات المستقبلية.
الإصدار 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 باستخدام الخطوط الرتيبة. ومن المفيد على وجه الخصوص إضافة قيم موضعية، مثلOffset
وIntOffset
وDpOffset
. تمت إضافتها على أنها واجهة برمجة تطبيقات تجريبية.
إصلاح الأخطاء
- إضافة دعم العارض من خلال ميزة "Sweep Gتدرّج" في
ArcLine
(I4d5bb) - نفِّذ قيمة يساوي ورمز التجزئة لـ
PageSize.Fixed
. (Ie3ede، b/300134276) - إصلاح مشكلة التوافق مع النظام الثنائي في تغيير إدراج النافذة. (Iee695)
- إزالة الطبقة الأساسية المادية لرقاقة/زر Material3 حيث تُظهر مقاييس الأداء الدقيقة أداءً أفضل بدونها. (I55555)
الإصدار 1.6.0-alpha08
18 تشرين الأول (أكتوبر) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha08
. يحتوي الإصدار 1.6.0-alpha08 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تم إيقاف
KeyframesSpecConfig#with
لصالحKeyframesSpecConfig#using
، ما يحافظ على نمط أداة الإنشاء. (I1d769)
الإصدار 1.6.0-alpha07
4 أكتوبر 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha07
. يحتوي الإصدار 1.6.0-alpha07 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تحتوي علامات التبويب الثابتة والقابلة للتمرير الآن على صيغتين "أساسية" و"ثانوية". ويتم تعيينها بشكل صحيح إلى سلوك اللون والمؤشر كما هو موضح في Material3.
- يعرض
PrimaryScrollableTabRow
وSecondaryScrollableTabRow
الآن حالة الانتقال للأعلى أو للأسفل. (Iec8f5، وb/260572337)
الإصدار 1.6.0-alpha06
20 أيلول (سبتمبر) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha06
. يحتوي الإصدار 1.6.0-alpha06 على هذه عمليات التنفيذ.
الإصدار 1.6.0-alpha05
6 أيلول (سبتمبر) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha05
. يحتوي الإصدار 1.6.0-alpha05 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة
PathEasing
لتفعيل مسار عشوائي ليتم تقديمه إلى منحنى التخفيف. (Idb4b9)
الإصدار 1.6.0-alpha04
23 آب (أغسطس) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha04
. يحتوي الإصدار 1.6.0-alpha04 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- يمكنك إضافة
SeekableTransitionState
للسماح للمطوّرين بالتحكم في تقدم عملية النقل. (I8e69d)
الإصدار 1.6.0-alpha03
9 آب (أغسطس) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha03
. يحتوي الإصدار 1.6.0-alpha03 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- نوع جديد من انتقال الدخول/الخروج الذي يضبط حجم المحتوى استنادًا إلى حجم حاوية الصور المتحركة أثناء حركة الدخول والخروج.
LookaheadScope
أصبحت الواجهة والمتعة القابلة للإنشاء ثابتة الآن. (Ifb2ce)
الإصدار 1.6.0-alpha02
26 تموز (يوليو) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha02
. يحتوي الإصدار 1.6.0-alpha02 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- عنصر "
ExitTransition.Hold
" جديد لعرض المحتوى الصادر في "AnimatedContent
" إلى أن يتم الانتهاء من مفتاحَي الدخول والخروج. (I5984f) - تعليقات توضيحية إضافية لتحديد الإدخالات المسموح بها للعناصر القابلة للإنشاء (I51109)
الإصدار 1.6.0-alpha01
21 حزيران (يونيو) 2023
تم طرح androidx.compose.animation:animation-*:1.6.0-alpha01
. يحتوي الإصدار 1.6.0-alpha01 على هذه عمليات التنفيذ.
الميزات الجديدة
- يمكنك تفعيل الدمج الكامل بين
Modifier.animateContentSize
وAnimatedVisibility
في نظام نظرة عامة من خلال الإبلاغ عن الحجم المستهدَف في بطاقة المعاينة.
التغييرات في واجهة برمجة التطبيقات
- الموقع الجديد في "
IntrinsincMeasureScope
" وعمليات التنفيذ المرتبطة به (مثلMeasureScope
) للإشارة إلى ما إذا كان اجتياز المقياس الحالي عبارة عن إذن مستجدّ (I7a812)
إصلاح الأخطاء
- تمت إزالة التخصيصات من الصور المتحركة في فصل الربيع. (Ie9431)
- تم تغيير اسم معلَمة القيمة لـ Enum.valueOf (Ia9b89)
- المزيد من الاستثناءات من enum valueOf (I818fe)
الإصدار 1.5
الإصدار 1.5.4
18 تشرين الأول (أكتوبر) 2023
تم طرح androidx.compose.animation:animation-*:1.5.4
. يحتوي الإصدار 1.5.4 على عمليات الالتزام هذه.
الإصدار 1.5.3
4 أكتوبر 2023
تم طرح androidx.compose.animation:animation-*:1.5.3
. لم تطرأ أي تغييرات على هذا الإصدار.
الإصدار 1.5.2
27 أيلول (سبتمبر) 2023
تم طرح androidx.compose.animation:animation-*:1.5.2
. يحتوي الإصدار 1.5.2 على عمليات الالتزام هذه.
الإصدار 1.5.1
6 أيلول (سبتمبر) 2023
تم طرح androidx.compose.foundation:foundation-*:1.5.1
. يحتوي الإصدار 1.5.1 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم إصلاح حقول نصية تعرض لوحة المفاتيح وقابلة للتعديل عندما تكون السياسة
readOnly
صحيحة. وتم أيضًا إصلاح عدم ظهور لوحة المفاتيح عند تغيير قيمةreadOnly
من "صحيح" إلى "خطأ" أثناء التركيز. (I34a19، b/246909589)
الإصدار 1.5.1
6 أيلول (سبتمبر) 2023
تم طرح androidx.compose.animation:animation-*:1.5.1
. يحتوي الإصدار 1.5.1 على عمليات الالتزام هذه.
الإصدار 1.5.0
9 آب (أغسطس) 2023
تم طرح androidx.compose.animation:animation-*:1.5.0
. يحتوي الإصدار 1.5.0 على عمليات الالتزام هذه.
الإصدار 1.5.0-rc01
26 تموز (يوليو) 2023
تم طرح androidx.compose.animation:animation-*:1.5.0-rc01
. يحتوي الإصدار 1.5.0-rc01 على هذه عمليات التنفيذ.
إصلاح الأخطاء
تم إصلاح مشكلة الإبلاغ عن تحذير من أداة Lint مع إصلاح غير صالح عند استدعاء
.value
من نوع الحالة الأولية (مثلMutableIntState
). وسيقترح الفحص الآن الانتقال إلى الموقع الصحيح. (Iba953، b/287279257)يتوفّر فحص اختياري للتوصية بنقل بيانات "
mutableStateOf()
" إلى الأنواع المتخصّصة المناسبة لها لإجراءات الإجراءات الأولية. معرّف الوبر هوAutoboxingStateCreation
. في السابق، تم تفعيل هذا الفحص تلقائيًا لجميع المشاريع. للاطّلاع على هذا التحذير في محرّر "استوديو Android" ونتجات أداة الوبر الخاصة بمشروعك، عليك تغيير درجة الخطورة من "إشعار" إلى تحذير (أو أعلى) من خلال تحديد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) - يمكنك إعادة تسمية المتعة باستخدام
togetherWith
للجمع بين انتقالات الدخول والخروج.AnimatedContentScope
جديد كمستلم للمحتوى lambda. (Ic39ae)
الإصدار 1.5.0-alpha02
5 نيسان (أبريل) 2023
تم طرح androidx.compose.animation:animation-*:1.5.0-alpha02
. يحتوي الإصدار 1.5.0-alpha02 على هذه عمليات التنفيذ.
الميزات الجديدة
- واجهة برمجة تطبيقات تجريبية جديدة لإتاحة استخدام واجهة برمجة التطبيقات المستقبلية في
SubcomposeLayout
سيتيح ذلك لـSubcomposeLayout
العمل بشكل صحيح فيLookaheadScope
. وستتم قريبًا إتاحة المزيد من الدعم غير المبتكر لأنواع فرعية محدَّدة منSubcomposeLayout
.
التغييرات في واجهة برمجة التطبيقات
- واجهة برمجة تطبيقات
SubcomposeLayout
جديدة تستخدم سياسة مقياس متوسط إضافية للتعامل مع منطق القياس/التنسيق أثناء الصور المتحركة المستندة إلى النظرة الأمامية. (I017d3)
الإصدار 1.5.0-alpha01
22 آذار (مارس) 2023
تم طرح androidx.compose.animation:animation-*:1.5.0-alpha01
. يحتوي الإصدار 1.5.0-alpha01 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- أصبحت واجهات برمجة التطبيقات
AnimatedContent
ثابتة الآن وتمت إعادة تسميةAnimatedContentScope
إلىAnimatedContentTransitionScope
.scaleIn
وscaleOut
هما الآن واجهتا برمجة تطبيقات مستقرتان. (Iaf54e)
الإصدار 1.4
الإصدار 1.4.3
3 أيار (مايو) 2023
تم طرح الإصدارات androidx.compose.animation:animation:1.4.3
وandroidx.compose.animation:animation-core:1.4.3
وandroidx.compose.animation:animation-graphics:1.4.3
بدون أي تغييرات (فقط عندما حدثت تغييرات في الإصدار).
الإصدار 1.4.2
19 نيسان (أبريل) 2023
تم طرح ميزات androidx.compose.animation:animation:1.4.2
وandroidx.compose.animation:animation-core:1.4.2
وandroidx.compose.animation:animation-graphics:1.4.2
بدون أي تغييرات. يحتوي الإصدار 1.4.2 على عمليات الالتزام هذه.
الإصدار 1.4.1
5 نيسان (أبريل) 2023
تم طرح ميزات androidx.compose.animation:animation:1.4.1
وandroidx.compose.animation:animation-core:1.4.1
وandroidx.compose.animation:animation-graphics:1.4.1
بدون أي تغييرات. يحتوي الإصدار 1.4.1 على عمليات الالتزام هذه.
الإصدار 1.4.0
22 آذار (مارس) 2023
تم طرح الإصدارات androidx.compose.animation:animation:1.4.0
وandroidx.compose.animation:animation-core:1.4.0
وandroidx.compose.animation:animation-graphics:1.4.0
. يحتوي الإصدار 1.4.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 1.3.0
- يتوفّر تصنيف الأدوات في r
ememberInfiniteTransition
وجميع وظائف الإضافات علىInfiniteTransition
والنقل (مثل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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- في اختبارات واجهة المستخدم التي تستخدم قاعدة الإنشاء، لن يتم إرسال عمليات المتابعة التي تم استئنافها أثناء عمليات استدعاء
withFrameNanos
إلا بعد انتهاء تشغيل جميع استدعاءات الإطارات. يتطابق هذا مع سلوك التأليف عند التشغيل بشكل طبيعي. ومع ذلك، قد يتعذّر إجراء الاختبارات التي تعتمد على السلوك القديم. من المفترَض أن يؤثر ذلك فقط في الرمز البرمجي الذي يستدعيwithFrameNanos
أوwithFrameMillis
مباشرةً، ويكون له منطق خارج نطاق الاستدعاء الذي يتم تمريره إلى الدوال التي قد تحتاج إلى نقلها داخل الاستدعاءات. يُرجى الاطّلاع على التغييرات في اختبار الصور المتحركة في قائمة الأمثلة هذه للحصول على أمثلة. - تمت إضافة مَعلمة
onPerformTraversals: (Long) -> Unit
الاختيارية إلى الدالة الإنشائيةTestMonotonicFrameClock
ودالة المصنع لتشغيل الرمز بعد عمليات استدعاءwithFrameNanos
، ولكن قبل استئناف الكوروتينات للمتصلين. (Idb413 وb/254115946 وb/222093277 وb/255802670) - معلَمة جديدة في
AnimatedContent
لتصنيف الأدوات (Iebe2d)
الإصدار 1.4.0-alpha02
9 تشرين الثاني (نوفمبر) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.4.0-alpha02
وandroidx.compose.animation:animation-core:1.4.0-alpha02
وandroidx.compose.animation:animation-graphics:1.4.0-alpha02
. يحتوي الإصدار 1.4.0-alpha02 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إضافة
ToolingState
للسماح للأدوات بتغيير الحالات الداخلية القابلة للتعديل (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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- إصلاح الرسوم المتحركة للمقاطعة غير الصحيحة في الصور المتحركة (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 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم التحديث لإتاحة الإصدار androidx.compose.ui 1.3.2
الإصدار 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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- يتم الآن إنشاء الواجهات في مكتبات الإنشاء باستخدام طرق الواجهة التلقائية jdk8 (I5bcf1).
الإصدار 1.2.0-beta03
1 حزيران (يونيو) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-beta03
وandroidx.compose.animation:animation-core:1.2.0-beta03
وandroidx.compose.animation:animation-graphics:1.2.0-beta03
. يحتوي الإصدار 1.2.0-beta03 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة منحنيات الإرخاء التجريبية للصور المتحركة (I64a38)
الإصدار 1.2.0-beta02
18 أيار (مايو) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-beta02
وandroidx.compose.animation:animation-core:1.2.0-beta02
وandroidx.compose.animation:animation-graphics:1.2.0-beta02
. يحتوي الإصدار 1.2.0-beta02 على عمليات التنفيذ هذه.
الإصدار 1.2.0-beta01
11 أيار (مايو) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-beta01
وandroidx.compose.animation:animation-core:1.2.0-beta01
وandroidx.compose.animation:animation-graphics:1.2.0-beta01
. يحتوي الإصدار 1.2.0-beta01 على عمليات التنفيذ هذه.
- هذا هو أول إصدار تجريبي من 1.2! ما مِن تغييرات منذ آخر إصدار ألفا.
الإصدار 1.2.0-alpha08
20 نيسان (أبريل) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-alpha08
وandroidx.compose.animation:animation-core:1.2.0-alpha08
وandroidx.compose.animation:animation-graphics:1.2.0-alpha08
. يحتوي الإصدار 1.2.0-alpha08 على هذه عمليات التنفيذ.
الإصدار 1.2.0-alpha07
6 نيسان (أبريل) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-alpha07
وandroidx.compose.animation:animation-core:1.2.0-alpha07
وandroidx.compose.animation:animation-graphics:1.2.0-alpha07
. يحتوي الإصدار 1.2.0-alpha07 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- يتوافق تطبيق
AnimatedImageVector
الآن معrepeatCount
وrepeatMode
(Ia3e75 وb/199304067).
الإصدار 1.2.0-alpha06
23 آذار (مارس) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.2.0-alpha06
وandroidx.compose.animation:animation-core:1.2.0-alpha06
وandroidx.compose.animation:animation-graphics:1.2.0-alpha06
. يحتوي الإصدار 1.2.0-alpha06 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تم تعديل تحليل العناصر القابلة للرسم المتّجهة لإتاحة النسخ المطابق التلقائي لقلب محتوى
VectorPainter
إذا كان اتجاه التنسيق الحالي هو RTL. (I79cd9، b/185760237)
إصلاح الأخطاء
- تم تعديل واجهات برمجة التطبيقات لرسومات Vector لاستخدام التعليق التوضيحي المناسب للإنشاء
@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)
التحديثات المتعلقة بالاعتمادية
- تعتمد الآن على لغة
1.6.10
بلغة Kotlin.
الإصدار 1.1
الإصدار 1.1.1
23 شباط (فبراير) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.1.1
وandroidx.compose.animation:animation-core:1.1.1
وandroidx.compose.animation:animation-graphics:1.1.1
. يحتوي الإصدار 1.1.1 على عمليات الالتزام هذه.
إصلاح الأخطاء
- إصلاح
NullPointerException
فيandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059، b/206677462) - إصلاح الأعطال التي يتسبب فيها محتوى الحافظة أثناء القراءة من الحافظة على Android. (I06020، b/197769306)
- تم إصلاح اليمين من اليسار في
LazyVerticalGrid
(aosp/1931080، b/207510535)
الإصدار 1.1.0
9 شباط (فبراير) 2022
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0
وandroidx.compose.animation:animation-core:1.1.0
وandroidx.compose.animation:animation-graphics:1.1.0
. يحتوي الإصدار 1.1.0 على هذه عمليات التنفيذ.
تغييرات مهمة منذ الإصدار 1.0.0
- دعم ثابت لتأثير التمرير الزائد في Android 12
- تحسينات على حجم مساحة اللمس
- يُرجى العلم أنّه في ما يتعلّق بـ Compose 1.0، ستعمل مكونات التصميم المتعدد الأبعاد على توسيع مساحة التصميم الخاصة بها لاستيفاء إرشادات تسهيل استخدام المواد من أجل حجم هدف اللمس. مثلاً، سيتم توسيع مساحة اللمس المستهدفة للزر إلى حد أدنى للحجم يبلغ 48x48 بكسل مستقل الكثافة، حتى إذا ضبطت حجم الزر ليكون أصغر. يؤدي ذلك إلى مواءمة مادة Compose مع سلوك مكونات التصميم المتعدد الأبعاد نفسه، ما يوفّر سلوكًا ثابتًا إذا مزجت بين طرق العرض و"الإنشاء". ويضمن هذا التغيير أيضًا استيفاء الحدّ الأدنى من متطلبات إمكانية الوصول إلى مساحة اللمس عند إنشاء واجهة المستخدم باستخدام مكوّنات "مواد إنشاء المحتوى".
- دعم ثابت لـ شريط التنقل
- ترقية عدد من واجهات برمجة التطبيقات التجريبية سابقًا إلى إصدار مستقر
- الدعم للإصدارات الأحدث من 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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم التحديث لدعم Compose 1.1.0-rc03
الإصدار 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 على عمليات التنفيذ هذه.
الميزات الجديدة
- تم التعديل للتوافق مع لغة "
1.6.0
" بلغة Kotlin.
الإصدار 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 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- واجهات برمجة تطبيقات جديدة للصور المتحركة من أجل دعم الأدوات. على وجه التحديد، تسمح للأدوات بفحص الرسوم المتحركة وإعداداتها في الانتقالات. (I4116e)
الإصدار 1.1.0-beta01
27 تشرين الأول (أكتوبر) 2021
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0-beta01
وandroidx.compose.animation:animation-core:1.1.0-beta01
وandroidx.compose.animation:animation-graphics:1.1.0-beta01
. يحتوي الإصدار 1.1.0-beta01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- واجهات برمجة تطبيقات جديدة للصور المتحركة من أجل دعم الأدوات. على وجه التحديد، تسمح للأدوات بفحص الرسوم المتحركة وإعداداتها في الانتقالات. (I4116e)
الإصدار 1.1.0-alpha06
13 تشرين الأول (أكتوبر) 2021
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0-alpha06
وandroidx.compose.animation:animation-core:1.1.0-alpha06
وandroidx.compose.animation:animation-graphics:1.1.0-alpha06
. يحتوي الإصدار 1.1.0-alpha06 على هذه عمليات التنفيذ.
الإصدار 1.1.0-alpha05
29 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0-alpha05
وandroidx.compose.animation:animation-core:1.1.0-alpha05
وandroidx.compose.animation:animation-graphics:1.1.0-alpha05
. يحتوي الإصدار 1.1.0-alpha05 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
أصبحت واجهات برمجة التطبيقات
EnterTransition
وExitTransition
وبعض واجهات برمجة تطبيقاتAnimatedVisibility
ثابتة. لم يعُد تطبيق "MutableTransitionState.isIdle
" تجريبيًا. (I5072d)كسر التغيير: تم نقل lambda في مصانع Enter/ExitTransition إلى الموضع الأخير في قائمة المَعلمات. (I5072d)
الإصدار 1.1.0-alpha04
15 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0-alpha04
وandroidx.compose.animation:animation-core:1.1.0-alpha04
وandroidx.compose.animation:animation-graphics:1.1.0-alpha04
. يحتوي الإصدار 1.1.0-alpha04 على هذه عمليات التنفيذ.
الإصدار 1.1.0-alpha03
1 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.compose.animation:animation:1.1.0-alpha03
وandroidx.compose.animation:animation-core:1.1.0-alpha03
وandroidx.compose.animation:animation-graphics:1.1.0-alpha03
. يحتوي الإصدار 1.1.0-alpha03 على هذه عمليات التنفيذ.
الميزات الجديدة
- تم تعديل سياسة ComposeAllowed التي تم تحديثها
1.1.0-alpha03
للاعتماد على لغة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 بصيغ قابلة للتكرار وغير محدودة ، كوسيلة لتأجيل وقت البدء أو تقديم الرسوم المتحركة بشكل سريع قبل بدء الرسوم المتحركة. لن يتم تكرار إزاحة البداية هذه (Ic679f وb/195079908)
- مفتاح Enter/خروج جديد لتغيير الحجم. يمكن استخدامه جنبًا إلى جنب مع أنواع أخرى من انتقالات الدخول/الخروج. (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 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم إصلاح مثيلات الحالة المستمدة من تتبُّع الأعطال. (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 على عمليات الالتزام هذه.
التحديثات المتعلقة بالاعتمادية
- تم التعديل لكي تعتمد على
1.5.31
بلغة Kotlin.
الإصدار 1.0.3
29 أيلول (سبتمبر) 2021
تم طرح androidx.compose.animation:animation:1.0.3
وandroidx.compose.animation:animation-core:1.0.3
. يحتوي الإصدار 1.0.3 على عمليات الالتزام هذه.
التحديثات المتعلقة بالاعتمادية
- تم التعديل لكي تعتمد على
1.5.30
بلغة Kotlin.
الإصدار 1.0.2
1 أيلول (سبتمبر) 2021
تم طرح androidx.compose.animation:animation:1.0.2
وandroidx.compose.animation:animation-core:1.0.2
. يحتوي الإصدار 1.0.2 على عمليات الالتزام هذه.
تم التعديل لإتاحة إصدار 1.0.2
لميزة Compose. لا تزال ميزة إنشاء 1.0.2
متوافقة مع لغة 1.5.21
بلغة Kotlin.
الإصدار 1.0.1
4 آب (أغسطس) 2021
تم طرح androidx.compose.animation:animation:1.0.1
وandroidx.compose.animation:animation-core:1.0.1
. يحتوي الإصدار 1.0.1 على عمليات الالتزام هذه.
التحديثات المتعلقة بالاعتمادية
- تم التعديل لكي تعتمد على
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 الرسمية للحصول على مزيد من التفاصيل.
المشاكل المعروفة
إذا كنت تستخدم Android Studio Bumblebee Canary 4 أو AGP
7.1.0-alpha04
/7.1.0-alpha05
، قد يحدث العُطل التالي:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
لحلّ هذه المشكلة، عليك زيادة minSdkVersion مؤقتًا إلى 24 أو أكثر في ملف
build.gradle
. سيتم إصلاح هذه المشكلة في الإصدار التالي من Android Studio Bumblebee وAGP7.1
. (b/194289155)
الإصدار 1.0.0-rc02
14 يوليو 2021
تم طرح androidx.compose.animation:animation:1.0.0-rc02
وandroidx.compose.animation:animation-core:1.0.0-rc02
. يحتوي الإصدار 1.0.0-rc02 على هذه عمليات التنفيذ.
الإصدار 1.0.0-rc01
1 تموز (يوليو) 2021
تم طرح androidx.compose.animation:animation:1.0.0-rc01
وandroidx.compose.animation:animation-core:1.0.0-rc01
. يحتوي الإصدار 1.0.0-rc01 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم نقل
InfiniteAnimationPolicy
إلىandroidx.compose.ui:ui
(I5eb09، b/160602714).
الإصدار 1.0.0-beta09
16 حزيران (يونيو) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta09
وandroidx.compose.animation:animation-core:1.0.0-beta09
. يحتوي الإصدار 1.0.0-beta09 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- نسخة جديدة من "
AnimatedContent
" قابلة للإنشاء وهو يدير عملية تغيير المحتوى باستخدامContentTransform
قابل للتخصيص مع إدخال محتوى مستهدَف جديد ومغادرة المحتوى المبدئي. يمكن استخدام مزيج مختلف من انتقالات الدخول والخروج لإنتاج مظهر وطابع مخصصين. كجزء من عملية تحويل المحتوى، يحرّكAnimatedContent
حجمه تلقائيًا ليلائم المحتوى الوارد. (I2c3df) - تمت إزالة
ManualFrameClock
. إذا أردت التحكّم في الصور المتحركة، استخدِمcomposeTestRule.mainClock
بدلاً من ذلك. (I3c3e8، b/189951065)
قواعد الملف الشخصي المضافة
يضيف هذا الإصدار قواعد الملف الشخصي إلى وحدات الإنشاء التالية (I14ed6):
- androidx.compose.animation
- androidx.compose.animation-core
- .androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime.
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- .androidx.compose.ui.util
ما هي قواعد الملف الشخصي؟
تم تحديد قواعد الملف الشخصي لمكتبة في ملف نصي
baseline-prof.txt
فيsrc/main
أو في دليل مكافئ. يحدد الملف قاعدة في كل سطر، حيث تكون القاعدة في هذه الحالة نمطًا للمطابقة مع الطرق أو الفئات في المكتبة. تعتبر بنية هذه القواعد جزءًا رئيسيًا من تنسيق الملف الشخصي ART الذي يمكن للمستخدمين قراءته، والذي يتم استخدامه عند استخدامadb shell profman --dump-classes-and-methods ...
. تتخذ هذه القواعد أحد الشكلين لاستهداف الطرق أو الفئات.سيكون لقاعدة الطريقة النمط التالي:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
وسيكون لقاعدة الفئة النمط التالي:
<CLASS_DESCRIPTOR>
تتضمّن
<FLAGS>
حرفًا واحدًا أو أكثر من الرموزH
وS
وP
للإشارة إلى ما إذا كان يجب وضع علامة على هذه الطريقة على أنّها "سريعة" أو "بدء تشغيل" أو "ما بعد بدء التشغيل".تمثّل السمة
<CLASS_DESCRIPTOR>
وصفًا للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، يجب أن يكون للفئةandroidx.compose.runtime.SlotTable
واصف للقيمةLandroidx/compose/runtime/SlotTable;
.تمثّل السمة
<METHOD_SIGNATURE>
توقيع الطريقة وتتضمّن الاسم وأنواع المَعلمات وأنواع النتائج التي تتضمنها الطريقة. على سبيل المثال، تحتوي الطريقةfun isPlaced(): Boolean
فيLayoutNode
على التوقيعisPlaced()Z
.يمكن أن تشتمل هذه الأنماط على أحرف بدل (
**
و*
و?
) لكي تشتمل قاعدة واحدة على طرق أو فئات متعددة.
ما هي وظيفة القواعد؟
تشير الطريقة ذات العلامة
H
إلى أن هذه الطريقة هي طريقة "سريعة"، ويجب تجميعها مسبقًا.تشير الطريقة التي تحمل العلامة
S
إلى أنّها طريقة يتم استدعاؤها عند بدء التشغيل، ويجب تجميعها مسبقًا لتجنُّب تكلفة التجميع وتفسير الطريقة في وقت بدء التشغيل.تشير الطريقة التي تحمل العلامة
P
إلى أنّ هذه الطريقة يتم طلبها بعد بدء التشغيل.تشير الفئة المتوفّرة في هذا الملف إلى أنّه يتم استخدامها أثناء بدء التشغيل ويجب تخصيصها مسبقًا في الذاكرة لتجنُّب تحمُّل تكلفة تحميل الفئة.
آلية العمل
- يمكن للمكتبات تحديد هذه القواعد التي سيتم جمعها في عناصر AAR. عند إنشاء تطبيق يتضمن هذه العناصر، يتم دمج هذه القواعد معًا ويتم استخدام القواعد المدمجة لإنشاء ملف شخصي ثنائي مكثّف خاص بـ ART وخاص بالتطبيق. ويمكن لـ ART بعد ذلك الاستفادة من هذا الملف الشخصي عند تثبيت التطبيق على الأجهزة من أجل تجميع مجموعة فرعية محددة من التطبيق مسبقًا لتحسين أداء التطبيق، وخاصة أول عملية تشغيل. يُرجى العلم أنّ ذلك لن يؤثر في التطبيقات التي يمكن تصحيح الأخطاء بها.
الإصدار 1.0.0-beta08
2 حزيران (يونيو) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta08
وandroidx.compose.animation:animation-core:1.0.0-beta08
. يحتوي الإصدار 1.0.0-beta08 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- الآن، ستستهلك
detectDragGesures
وdetectVerticalGestures
وdetectHorizontalGestures
تغيير الموضع تلقائيًا، ولن تحتاج إلى استدعاء change.consumePositionChange في استدعاءات onDrag (I42fc4 وb/185096350 وb/187320697). - تم تغيير
Modifier.onGloballyPositioned()
للإبلاغ عن إحداثيات هذا التعديل في سلسلة مفاتيح التعديل، وليس إحداثيات التنسيق بعد تطبيق جميع مفاتيح التعديل. وهذا يعني أن ترتيب المعدِّلات يؤثر الآن في الإحداثيات التي سيتم الإبلاغ عنها. (Ieb67d، b/177926591)
الإصدار 1.0.0-beta07
18 أيار (مايو) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta07
وandroidx.compose.animation:animation-core:1.0.0-beta07
. يحتوي الإصدار 1.0.0-beta07 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- واجهة برمجة تطبيقات
AnimatedVisibility
جديدة تتيح تحديد أذونات الوصول فيMutableTransitionState
ويتيح ذلك أيضًا ملاحظة حالات الرسوم المتحركة خارجAnimatedVisibility
عبرcurrentState
وisIdle
.- إتاحة عملية نقل طفل جديدة في عملية النقل
- دعم الرسوم المتحركة المخصصة للخروج/الدخول من خلال ميزة العناصر المتحركة لاستخدام AnimationScope.transition
- يمكن الوصول إلى مفتاح تعديل animateEnterExit لجميع أطفال Animated visibility
- تم إيقاف واجهات برمجة التطبيقات المخصّصة لـ Android visibility التي تستخدم معلَمة
initiallyVisible
(I702f3).
الإصدار 1.0.0-beta06
5 أيار (مايو) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta06
وandroidx.compose.animation:animation-core:1.0.0-beta06
. يحتوي الإصدار 1.0.0-beta06 على هذه الالتزامات.
الإصدار 1.0.0-beta05
21 نيسان (أبريل) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta05
وandroidx.compose.animation:animation-core:1.0.0-beta05
. يحتوي الإصدار 1.0.0-beta05 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- أصبحت ملفات AndroidManifest من ui-test-manifest وui-tooling-data متوافقة الآن مع نظام التشغيل Android 12 (I6f9de وb/184718994).
الإصدار 1.0.0-beta04
7 نيسان (أبريل) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta04
وandroidx.compose.animation:animation-core:1.0.0-beta04
. يحتوي الإصدار 1.0.0-beta04 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إزالة النُسخ الافتراضية العلنية من
RowScope
وColumnScope
وBoxScope
وBoxWithConstraintsScope
. (I4e83e، وb/181869067)
الإصدار 1.0.0-beta03
24 آذار (مارس) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta03
وandroidx.compose.animation:animation-core:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات التنفيذ هذه.
الإصدار 1.0.0-beta02
10 آذار (مارس) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta02
وandroidx.compose.animation:animation-core:1.0.0-beta02
. يحتوي الإصدار 1.0.0-beta02 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- فرض قيود على الاستخدام العلني لواجهات برمجة التطبيقات التجريبية (I6aa29 وb/174531520)
الإصدار 1.0.0-beta01
24 شباط (فبراير) 2021
تم طرح androidx.compose.animation:animation:1.0.0-beta01
وandroidx.compose.animation:animation-core:1.0.0-beta01
. يحتوي الإصدار 1.0.0-beta01 على عمليات التنفيذ هذه.
هذا هو الإصدار الأول من الإصدار التجريبي من Compose 1.0.0.
التغييرات في واجهة برمجة التطبيقات
- تم استبدال
InteractionState
بـ[Mutable]InteractionSource
- تؤدي الواجهات إلى إصدار / جمع أحداث التفاعل.
- بدلاً من تمرير
interactionState = remember { InteractionState() }
إلى مكونات مثلButton
وModifier.clickable()
، استخدمinteractionSource = remember { MutableInteractionSource() }
. - بدلاً من:
Interaction.Pressed in interactionState
، يجب عليك استخدام وظائف الإضافة في InteractionSource، مثل InteractionSource.collectIsPressedAsState(). - بالنسبة إلى حالات الاستخدام المعقّدة، يمكنك استخدام InteractionSource.interactions لمراقبة تدفق التفاعلات. راجع الوثائق والأمثلة لـ InteractionSource للحصول على مزيد من المعلومات.
- (I85965، وb/152525426، وb/171913923، وb/171710801، وb/174852378)
- تم تغيير حزم الطريقتين smooth scrollBy و scrollBy إلى
androidx.compose.foundation.gestures.*
(I3f7c1، b/175294473) - تمت إعادة تسمية معدِّلات الحجم. تمت إعادة تسمية Modifier.width/height/size لتصبح مطلوبةwidth/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.FavoriteDetails/FavoriteHeight/FavoriteSize إلى العرض/الارتفاع/الحجم. (I5b414)
- تم نقل التوجيه إلى حزمة الأساس. تم نقل أداة VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8 وb/175294473)
- تمت إزالة AnimationClockObserverable والفئات الفرعية. تمت إزالة الصور المتحركة العائمة. (Icde52، b/177457083)
- يقبل Modifier.draggable الآن DraggableState بدلاً من lambda بسيط. يمكنك إنشاء حالة عبر
rememberDraggableState { delta -> }
للحصول على نفس السلوك كالسابق (Ica70f، b/175294473) - تمت إزالة animate و animatedValue وAnimationValue APIs (If27bc، وb/177457083)
- AnimationEndreason.تمت إزالة انقطاع. سيتم طرح استثناء الإلغاء في حال انقطاع الصورة المتحركة. (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 على رسومًا متحركة عبر نظام الرسوم المتحركة. أيضًا قم بتقييد Enter/ExitTransition لقبول FiniteAnimationSpec. (Ie47c5، وb/177457083)
- Animatable.snapTo وAnimatable.stop هما الآن دالتان تعليق (If4288).
- وعلى غرار الطريقة التي أزلنا بها سابقًا عنصر
state { 0 }
القابل للإنشاء، ونعمل الآن على تعزيز الاستخدام، مثلremember { mutableStateOf(0) }
، سنزيلsavedInstanceState { 0 }
قابل للإنشاء. يجب استخدامrememberSaveable { mutableStateOf(0) }
بدلاً من ذلك، وسيتم تلقائيًا حفظها واستعادتها إذا كان النوع المستخدَم في MutableState مخزّنًا في الحزمة. إذا كنت تمرر عنصر حفظ مخصّص في السابق، ستحتاج إلى استخدام حمل زائد جديد من العناصر التي سيتم حفظها من "محفظتك" والتي تحتوي على مَعلمةstateSaver
. سيظهر الاستخدام على النحو التالي:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26، b/177338004) - تم تحديث توقيع طريقة Crossfade ليكون أكثر تناسقًا مع بقية نظام الرسوم المتحركة. (Ib05ed، b/177457083)
- تم تغيير اسم SavedInstanceState() لتذكُّر Saveable() ونقله إلى الحزمة androidx.compose.runtime.saveable. (I1366e، b/177338004)
- تمت إعادة تسمية RestorableStateHolder إلى SaveableStateHolder وتم نقلها إلى حزمة androidx.compose.runtime.saveable. تمت إعادة تسمية الطريقة الداخلية RestorableStateProvider إلى SaveableStateProvider. تمت إزالة النوع العام، لذا يمكنك ضبط "Any" كمفتاح. لم يعد هناك حاجة إلى التعليق التوضيحي التجريبي. (I0902e، b/174598702)
- تم تحديث واجهة برمجة التطبيقات Modifier.animateContentSize لتتوافق مع باقي نظام الرسوم المتحركة. (I0bf75، b/177457083)
- تم إيقاف ميزةAnimationValue/Float (القيمة العائمة) نهائيًا الآن. يُرجى استخدام صورة متحركة بدلاً من ذلك. (I71345، b/177457083)
- تم نهائيًا إيقاف بكل من AccessibilityFilter و Double TapشيءFilter وlongPressTokenFilter وPressIndicaiton بتطبيقFilter. يمكنك استخدام Modifier.clickable أو Modifier.pointerInput مع وظيفتَي الرمز ExploreTapالإيماءات بدلاً من ذلك. (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) - استخدام "مدة طويلة" بدلاً من "مدة التشغيل" كنوع وقت الحركة (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)
- InfiniteTransition جديد يشغِّل أي عدد من الرسوم المتحركة الفرعية. (I1da81)
- يغيّر واجهات معلَمة Material الحالة لتتضمّن الدوال @Composable التي تعرض
State<T>
. تضيف Animatable.asState() لتسهيل تحويل ملف Animatable إلى حالة. تغيّر أيضًا animateElevation لتكون إضافة تعليق في Animatable. (If613c)
إصلاح الأخطاء
- تم إيقاف onCommit وonDispose وonActive نهائيًا لصالح واجهات برمجة التطبيقات SideEffect وDisposableEffect API (If760e).
- الحالة الأولية في updateTransition متاحة الآن (Ifd51d).
- تمت إضافة مَعلمة وصف المحتوى إلى الصورة والرمز. تُستخدم لتقديم وصف لخدمات تسهيل الاستخدام (I2ac4c).
- تم إيقافableate وCompateReference() نهائيًا لصالح currentRecomposeScope و"تذكُّر لبطاقة تحكُّم مستخدمة" على التوالي. (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) وitemIndexed(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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- السرعة المعدلة للحصول على أجزاء المكونات والعمليات الرياضية. (Ib0447)
- تمت إعادة تسمية
@ExperimentalTesting
إلى@ExperimentalTestApi
لتكون متسقة مع التعليقات التوضيحية التجريبية المشابهة لواجهة برمجة التطبيقات (Ia4502، وb/171464963) - تمت إعادة تسمية موضع الإعلان إلى DpOffset وإزالة getمسافة() (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 وما إلى ذلك إلى رموز متحركة، وإيقاف أدوات VectorCounteters القديمة (If0c4b)
- تم تقديم مجموعة جديدة بالكامل من واجهات برمجة التطبيقات Transition API مع سهولة الاستخدام المحسّنة، والتوافق مع الصور المتحركة المضافة ديناميكيًا، وأهداف الرسوم المتحركة التي يتم احتسابها ديناميكيًا. تم وضع علامة على واجهات برمجة التطبيقات هذه باعتبارها تجريبية للتمييز بسهولة عن واجهة برمجة التطبيقات المستندة إلى TransitionDefinition. (Ia7fe3)
إصلاح الأخطاء
- أصبحت ملفات Lambdas بمعدِّلات الإزاحة تعرض الآن IntOffset بدلاً من Float. (Ic9ee5، b/174137212، b/174146755)
- إيقاف LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed. استخدام LazyColumn وLazyRow بدلاً من ذلك (I5b48c)
- بالنسبة إلى تعليق واجهات برمجة التطبيقات لإدخال المؤشر، تمت إعادة تسميتها HandlePointerInputScope إلى AwaitPointerEventScope و handlePointerInput() إلى awaitPointerEventScope() (Idf0a1, b/175142755)
- دالة جديدة infiniteRepeatable لإنشاء InfiniteRepeatableSpec (I668e5)
- تمت إزالة التعليق التوضيحي TestingalPointerInput (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 إلى الإزاحة. تأخذ الآن معلمات lambda بدلاً من State. (Ic3021، b/173594846)
- واجهات برمجة تطبيقات جديدة لتشغيل الصور المتحركة في الكوروتينات (Ied662)
- تم إيقاف "وضع الاستراحة" نهائيًا باستخدام اللاحقة
Ambient
، واستبدلها بسمات جديدة تبدأ بـ "وضع الاستراحة"، وذلك وفقًا لإرشادات واجهة برمجة التطبيقات الخاصة بميزة "بيئة المحيطة" و"Compose" الأخرى. (I33440) - أصبحت ميزة التحكّم في الوقت في الاختبارات (TestAnimationClock واستخداماتها) في مرحلة تجريبية الآن (I6ef86 وb/171378521).
- إزالة وحدة اختبار واجهة المستخدم القديمة وأذرعها (I3a7cb)
- تمت إعادة تسمية الدالة
RestorableStateHolder.withRestorableState
لتصبحRestorableStateProvider
(I66640). - تم تحديث واجهة المحاذاة وجعلها تعمل. (I46a07، b/172311734)
الإصدار 1.0.0-alpha07
11 تشرين الثاني (نوفمبر) 2020
تم طرح androidx.compose.animation:animation:1.0.0-alpha07
وandroidx.compose.animation:animation-core:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم إيقاف الأساسيات AmbientTextStyle وProvideTextStyle وAmbientContentColor. بدلاً من ذلك، استخدم الإصدارات الجديدة المتوفرة في مكتبة المواد. بالنسبة للتطبيقات غير متعددة المواد، يجب عليك بدلاً من ذلك إنشاء بيئات محددة لنظام التصميم يمكن استخدامها في مكوناتك الخاصة. (I74acc، b/172067770)
- تم إيقاف Foundation.Text نهائيًا واستبداله بـmaterial.Text. للحصول على واجهة برمجة تطبيقات نصية أساسية غير معرَّفة لا تستهلك قيمًا من مظهر معيّن، يُرجى الانتقال إلى androidx.compose.foundation.BasicText. (If64cb)
- تم نقل MeasurementResult من MeasurementScope. (Ibf96d، b/171184002)
- تم نقل العديد من الرموز ذات الصلة بالتنسيق من androidx.compose.ui إلى androidx.compose.layout.ui. (I0fa98، b/170475424)
الإصدار 1.0.0-alpha06
28 تشرين الأول (أكتوبر) 2020
تم طرح androidx.compose.animation:animation:1.0.0-alpha06
وandroidx.compose.animation:animation-core:1.0.0-alpha06
. يحتوي الإصدار 1.0.0-alpha06 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تفعيل الانتقالات في ComposeTestRule، ويمكنك إزالة الخيار لتفعيل المؤشر الوامض من ComposeTestRule. (If0de3)
الإصدار 1.0.0-alpha05
14 تشرين الأول (أكتوبر) 2020
تم طرح androidx.compose.animation:animation:1.0.0-alpha05
وandroidx.compose.animation:animation-core:1.0.0-alpha05
. يحتوي الإصدار 1.0.0-alpha05 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- واجهة رسوم متحركة وفئات فرعية جديدة: تخزن هذه الفئات شروط البدء والانتهاء للصور المتحركة، وبالتالي تسمح بالاستعلام عن القيمة والسرعة عبر وقت التشغيل فقط (Ie95bd، b/163329867)
إصلاح الأخطاء
- تمت إعادة تسمية OnPositionedModifier إلى OnGloballyPositionedModifier، وتمّت إعادة تسمية onPositioned() إلى onGloballyPositioned(). (I587e8, b/169083903)
إيقاف واجهات برمجة التطبيقات contentColor() وcurrentTextStyle()، واستبدالهما ببيئة AmbientContentColor وAmbientTextStyle على التوالي يمكنك الوصول إلى القيمة الحالية باستخدام
.current
في ميزة "وضع الاستراحة"، كما هي الحال مع أي إعدادات أخرى في البيئة المحيطة. تم إجراء هذا التغيير من أجل الاتساق وتجنب وجود طرق متعددة لإنجاز نفس الشيء. بالإضافة إلى ذلك، يعيد تسمية بعض الخصائص المحيطة لوصف الغرض منها بشكل أفضل على النحو التالي:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- Indisionambient -> AmbientIndiction
- 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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تتوفر تعليقات توضيحية لـRootAnimationClockfactor وtransitsEnabled وblinkingCursorEnabled وtextInputService يمكنها استخدام @visibleForTesting وإخفاء kdoc (I554eb وb/168308412).
إصلاح الأخطاء
- تم تحديث العديد من واجهات برمجة تطبيقات الرسومات
- تم تحديث واجهات برمجة التطبيقات لتحويل المقياس والتدوير لاستخدام معلَمة إزاحة واحدة لتمثيل الإحداثيات المحورية بدلاً من المعلَمات العائمة المنفصلة لإحداثيات س/ص في DrawScope وDrawTransform
- تمت إزالة طريقتي Rect.expandToInclude وRect.join
- تم تحديث وثائق النطاق الجغرافي لوصف الشكل البيضاوي بالإضافة إلى الشكل البيضاوي
- تمت إضافة مستندات للإشارة إلى المنشئ العام لفئة نصف القطر المضمّنة أنّه لا يجب استدعاءه مباشرةً، ولكن يجب إنشاء مثيل لكائنات نصف القطر من خلال دوال إنشاء الدوال
- تمت إزالة واجهات برمجة تطبيقات RoundRect لإنشاء طلب، topRight وbottomCenter، وما إلى ذلك.
- تم إيقاف Rect.shift لصالح Rect.translate
- تمت إزالة واجهتَي برمجة تطبيقات RoundRect.grow وRect.shrink
- تمت إعادة تسمية RoundRect.outerRect إلى Rect.boundingRect.
- تمت إزالة طريقتي RoundRect.mediumRect/tallMiddleRect/wideMiddleRect وRect.isStadium
- تمت إعادة تسمية RoundRect.longestSide إلى RoundRect.maxDimension.
- تمت إعادة تسمية RoundRect.shortestSide إلى RoundRect.minDimension.
- تم تغيير RoundRect.center إلى خاصية بدلاً من دالة.
- تم تحديث الدالة الإنشائية RoundRect لاستهلاك خصائص النطاق الجغرافي بدلاً من المعلمات الفردية لقيم نصف القطر x/y
- تمت إزالة واجهات برمجة التطبيقات ذات الحجم التي افترضت أنّها مستطيلة مصدرها 0,0
- تمت إضافة واجهة برمجة تطبيقات مدمرة إلى Radius
- تم نقل دوال إضافة RoundRect متنوعة لتكون خصائص بدلاً من ذلك
- (I8f5c7، b/168762961)
- تم إيقاف Foundation.Box نهائيًا. يُرجى استخدام Foundation.layout.Box بدلاً من ذلك. (Ie5950، b/167680279)
- تمت إعادة تسمية الحزمة إلى Box. وسيتم إيقاف Box الحالي نهائيًا لصالح Box الجديد في compose.foundation.layout. يتمثّل سلوك Box الجديد في تكديس العناصر الثانوية واحدًا فوق الآخر عندما يكون له عدة عناصر فرعية، وهذا يختلف عن المربع السابق، الذي كان يعمل بشكل مشابه للعمود. (I94893، b/167680279)
- تم إيقاف معلمات تزيين الصندوق نهائيًا. إذا أردت إضافة زخارف/مساحة متروكة على العلبة، يمكنك استخدام Modifiers بدلاً من ذلك (Modifier.background, Modifier.للحدّ، أو Modifier.حشو) (Ibae92، b/167680279)
- لقد منعنا عمليات الاستيراد الثابتة لمحتويات نطاقات التنسيق (مثل deleteWithSiblings في 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
عند إجراء الاختبارات التي تحتاج إلى يدويإطار ساعة،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 على هذه العمليات.
الميزات الجديدة
التغييرات في واجهة برمجة التطبيقات
- أصبحت فئة Outset فئة مضمّنة (Iaec70)
- أصبحت IntOffset الآن فئة مضمّنة (Iac0bf)
- أصبحت IntSize الآن فئة مضمّنة (I2bf42).
إنّ العناصر المتحركة المرئية القابلة للإنشاء تحرّك مظهر المحتوى المخصّص للأطفال واختفائه.
تم تقديم مفتاح EnterTransition وExitTransition للتوافق مع ميزة AnimatedVisibilty القابلة للإنشاء لتوفير 3 أنواع مختلفة من الصور المتحركة للظهور والاختفاء هي استخدام التلاشي والتمرير وتوسيع أو تصغير المحتوى. يمكن دمج الأنواع المختلفة من الرسوم المتحركة للحصول على شكل ومظهر أكثر تخصيصًا. (Idda11)
PxBounds متوقفة لصالح Rect. تم تحديث جميع استخدامات PxBounds مع المستطيل وإضافة إيقاف/استبدال مناسب بتعليقات توضيحية للمساعدة في الترحيل. (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
لسدّ الفجوة بين الساعات الجديدة المستندة إلى الكوروتينات وواجهات برمجة التطبيقات التي لا تزال تستخدم الساعات القديمة المستندة إلى معاودة الاتصال.MonotonicFrameClock
يعادلManualAnimationClock
الآنManualFrameClock
. (I111c7، b/161247083)
إصلاح الأخطاء
- تم تحديث واجهات برمجة التطبيقات التي تتيح الدعم من اليمين إلى اليسار. تمت إضافة LayoutDirectionAmbient الذي يمكن استخدامه لقراءة اتجاه التنسيق وتغييره. تمت إزالة Modifier.rtl وModifier.ltr. (I080b3)
- اطلب تحديد النوع T بشكل صريح من أجل transferDefinition. (I1aded)
- حزمة Foundation.shape.corner مسطّحة إلى مؤسسة enterprise.share (I46491، وb/161887429)
- تم إيقاف Modifier.plus نهائيًا، لذا يُرجى استخدام Modifier.ثم بدلاً من ذلك. تحتوي كلمة "ثم" على إشارة أقوى للطلب، بينما تمنع أيضًا كتابة
Modifier.padding().background() + anotherModifier
، ما يؤدي إلى فصل السلسلة ويصعب قراءته (Iedd58، b/161529964) - تمت إعادة تسمية Modifier. drawBackground إلى Modifier.background (I13677).
الإصدار 0.1.0-dev15
22 تموز (يوليو) 2020
تم طرح androidx.compose.animation:animation:0.1.0-dev15
وandroidx.compose.animation:animation-core:0.1.0-dev15
. يحتوي الإصدار 0.1.0-dev15 على هذه العمليات.
تحديث التبعيات
- لاستخدام إصدار
0.1.0-dev15
من Compose، يجب تعديل اعتمادياتك وفقًا لمقتطفات الرمز الجديدة الواردة أعلاه في توضيح التبعيات.
التغييرات في واجهة برمجة التطبيقات
- تم تغيير Transition API لعرض TransitionState بدلاً من تمرير TransitionState إلى الوحدات الثانوية. وهذا يجعل واجهة برمجة التطبيقات أكثر تناسقًا مع واجهات برمجة تطبيقات animate(). (I24e38)
- تمت إضافة مَعلمة المعدَّلة لـ Crossfade (I87cfe، وb/159706180).
- استخدم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى
لتوضيح مفهوم مواصفات الرسوم المتحركة الثابتة
- يمكنك تحسين انتقال DSL عن طريق إزالة متطلب lambda لإنشاء AnimationSpecs، مثل tween وspring. وبدلاً من ذلك تأخذ معلمات الإنشاء مباشرةً.
- تحسين سهولة استخدام AnimationSpec بشكل عام لإتاحة أدوات الإنشاء بدلاً من الاعتماد على أدوات الإنشاء
- غيِّر مدة ومهلة KeyFrames وTween إلى Int. يساهم ذلك في إزالة عمليات تحويل النوع غير الضرورية وتحميل الطرق بشكل زائد (لإتاحة كل من Long وInt). (Ica0b4)
- تم استبدال استخدام IntPx بـ IntPxPosition. وتم استبدال IntPxPosition بـ IntOffset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات المقاسات، يمكنك توحيد استخدام فئة المقاس بدلاً من PxSize. يوفر هذا مزايا الفئة المضمنة للاستفادة من القيمة الطويلة لحزم قيمتين عائمتين لتمثيل العرض والارتفاع الممثلين كأعداد عشرية. (Ic0191)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات تحديد المكان، يجب توحيد استخدام فئة الإزاحة بدلاً من PxPosition. يوفر هذا فوائد الفئة المضمنة للاستفادة من القيم الطويلة لعدد 2 قيم عائمة لتمثيل إزاحة س و ص الممثلة كأعداد عشرية. (I3ad98)
- تم استبدال الاستخدام لفئة Px في فئات إنشاء مختلفة كجزء من جهود إعادة البناء الكبيرة للاعتماد فقط على أنواع Dp والأنواع الأساسية لمعلمات البكسل (I086f4)
- تمت إضافة دعم animate() لـ Dp وPx وSize وPosition وBounds وPxPosition وPxSize وPxBounds وIntPx وIntPxSize وIntPxPosition وIntPxBounds وAnimationVector (Ib7518).
- تقبل ميزة Crossfade الآن مَعلمة AnimationBuilder الاختيارية للسماح بتهيئة الصورة المتحركة (I6d6e0)
- تم استبدال جميع استخدامات الألوان القابلة للقيم الفارغة في واجهة برمجة التطبيقات بغير قابلة للقيم الفارغة واستخدام Color.Unset بدلاً من null (Iamaa7)
- تمت إزالة فئة ValueHolder. تمت إعادة هيكلة فئات GIF وAnimationFloat لجعل
حقل قيمة الرسوم المتحركة مجردًا بحيث يمكن للفئات الفرعية مشاهدة تحديث القيمة.
- تمت إضافة فئات نماذج لـ ArtValue وFloat وغيرها.
- تمت إضافة مجموعة جديدة من واجهة برمجة التطبيقات @Composable خفيفة الوزن للتحريك بين القيم. (I79530)
- تغييرات قد تؤدي إلى تغيُّر واجهة برمجة تطبيقات البيئة المحيطة يمكنك الاطّلاع على مستندات "
Ambient<T>
" والسجلّ للحصول على التفاصيل (I4c7ee، وb/143769776). - وضع التكرار الجديد: عكس يعكس هذا الوضع التكرار السابق حيث يتم تكرار الرسم المتحرك في RepeatableSpec أو VectorizedRepeatableSpec. (Ibe0f5)
- إضافات واجهة برمجة التطبيقات إلى ElectronicAnimationClock:
hasObservers: Boolean
ومَعلمة أداة الإنشاءdispatchOnSubscribe: Boolean
(Iaa134) - تمت إضافة واجهات برمجة تطبيقات للحصول على الحدود الدنيا/الأقصى في ArtFloat (Icd9cc)
إصلاح الأخطاء
- تمت إعادة تسمية
runOnIdleCompose
إلىrunOnIdle
(I83607). - تمت إعادة تسمية العديد من واجهات برمجة تطبيقات الاختبار لتصبح أكثر سهولة. وتمت إعادة تسمية جميع واجهات findXYZ API إلى onNodeXYZ. تمت إعادة تسمية جميع واجهات برمجة التطبيقات doXYZ إلى performXYZ. (I7f164)
- تم تقديم واجهات برمجة تطبيقات ذات مستوى منخفض للصور المتحركة بدون حالة. واجهات برمجة التطبيقات هذه (I63bf7)
- لم يعد العنصر "إعادة التركيب" تجريدًا مفيدًا. يُفترض أن تحدث معظم عمليات إعادة التركيب نتيجة تعيينات MutableState. لإجراء ذلك، ننصحك باستخدام الدالة
invalidate
لإعادة تركيب النطاق الحالي. (Ifc992) - تم استبدال الاستخدام لفئة Px في فئات إنشاء مختلفة كجزء من جهود إعادة البناء الكبيرة للاعتماد فقط على أنواع Dp والأنواع الأساسية لمعلمات البكسل. تم حذف فئة Px بالكامل (I3ff33)
- استبدال استخدام فئة Px في فئات إنشاء مختلفة كجزء من جهود إعادة البناء الكبيرة للاعتماد فقط على أنواع Dp والأنواع الأساسية لمعلمات البكسل (Id3434)
- يمكن أن يعمل التلاشي المتقاطع الآن باستخدام قيمة أولية (Iad6a4 وb/155947711)
- استبدال استخدام فئة Px في فئات إنشاء مختلفة كجزء من جهود إعادة البناء الكبيرة للاعتماد فقط على أنواع Dp والأنواع الأساسية لمعلمات البكسل (I19d02)
- عمليات تنفيذ CanvasScope موحّدة، لذلك لا يتوفر الآن سوى DrawScope وContentDrawScope تمت إعادة تسمية CanvasScope إلى DrawScope. تم تحديث DrawScope لتنفيذ واجهة الكثافة وتوفير الفئة الفرعية LayoutDirection الفرعية لـ DrawScope المحذوفة في ContentDrawScope. تم تحديث تطبيق Painter وPainterModifier لعدم الإبقاء على خاصيّة RTL بنفسهما، لأنّ DrawScope يوفّر ذلك بالفعل بدون تقديمه يدويًا (I1798e)
- تم تحديث واجهات برمجة التطبيقات التي يتم إنشاؤها على مستوى أعلى والتي تعرض لوحة رسم لعرض CanvasScope بدلاً من ذلك. يلغي ذلك حاجة المستهلكين إلى صيانة كائنات الطلاء الخاصة بهم. بالنسبة إلى المستهلكين الذين ما زالوا يطلبون الوصول إلى لوحة رسم، يمكنهم استخدام طريقة الإضافة drawCanvas التي توفر استدعاء لإصدار أوامر الرسم باستخدام "لوحة الرسم" الأساسية. (I80afd)
- تمت إضافة معلمتَي الجاذبية الرأسية والجاذبية الأفقية إلى الصف والعمود، على التوالي. (I7dc5a)
- تمت إعادة تسمية وحدة ui-text باسم ui-text-core (I57dec).
- تحسين واجهة برمجة تطبيقات DrawModifier:
- تم إنشاء نطاق المُستلِم لـ draw() ContentDrawScope
- تمت إزالة جميع المعلمات على draw()
- واجهة DrawScope هي نفس واجهة تطبيق CanvasScope السابق
- يحتوي ContentDrawScope على طريقة drawContent() (Ibaced، b/152919067)
- تُعد
runOnIdleCompose
وrunOnUiThread
دوال عمومية الآن بدلاً من طرق في ComposeTestRule. (Icbe8f) - [Mutable]تم نقل عوامل تشغيل تفويض المواقع على مستوى الولاية إلى الإضافات
لإتاحة تحسينات تفويض المواقع على Kotlin 1.4. وعلى المتّصلين إضافة
عمليات استيراد لمواصلة استخدام
by state { ... }
أوby mutableStateOf(...)
. (I5312c) - تم إيقاف ColoredRect نهائيًا. يمكنك استخدام
Box(Modifier.preferredSize(width, height).drawBackground(color))
كبديل. (I499fa، b/152753731) - تم استبدال أداة التعديل بالإضافة إلى عامل التشغيل بوظائف إضافة على الإعدادات الأصلية (I225e4).
- عنصر قابل للإنشاء من خلال المركز المتوقف. يجب استبداله إما بالمُعدّل LayoutSize.Fill + LayoutAlign.Center، أو بأحد عناصر المربع أو الحزمة القابلة للإنشاء مع تطبيق التعديلات المناسبة (Idf5e0).
- تمت إعادة تسمية Layoutflex إلى Layoutweight. تمت إعادة تسمية معلَمة ضيقة للتعبئة. (If4738)
- تم استبدال دالة التعتيم القابلة للإنشاء بمعدِّل drawOpacity. (I5fb62)
- توفّر الاختبارات التي تستخدم AndroidComposeTestRule الآن ساعة متحرّكة في جذر المقطوعة الموسيقية تتيح إيقافها مؤقتًا واستئنافها وتحسينها يدويًا. (Id54c5)
- إتاحة الاتجاه من اليمين إلى اليسار في أداة التعديل LayoutPadding (I9e8da)
- تم دمج الكثافة ونطاق الكثافة في واجهة واحدة. يمكنك الآن استخدام الدالة Densityambient.current بدلاً منبينDensity() . بدلاً من withDensity(density) only 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.disposeAccounts نهائيًا. يمكنك بدلاً من ذلك استخدام طريقةdispose
علىComposition
التي يعرضهاsetContent
. وقد تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto إلى ComponentNode#emitInsertAt. تمت إعادة تسمية ComponentNode#emitInsertAt إلى ComponentNode#insertAt ComponentNode#emitRemoveAt قد تمت إعادة تسميته إلى ComponentNode#emitRemoveAt تمت إعادة تسمية Node#emitMode.