إنشاء صورة متحركة
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(اطّلع على المستندات المرجعية لواجهة برمجة التطبيقات لجميع حزم الإنشاء)
التعديل الأخير | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | إصدار ألفا |
---|---|---|---|---|
20 آذار (مارس) 2024 | 1.6.4 | - | - | 1.7.0-alpha05 |
التركيبة
تتألف ميزة Compose من 7 أرقام تعريف مجموعات Maven ضمن androidx
. تحتوي كل مجموعة
على مجموعة فرعية مستهدفة من الوظائف، لكل منها مجموعة خاصة بها من ملاحظات
الإصدار.
يوضِّح هذا الجدول المجموعات والروابط لكلّ مجموعة من ملاحظات الإصدار.
مجموعة | الوصف |
---|---|
compose.animation | يمكنك إنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم. |
compose.compiler | يمكنك تحويل دوال @Composable وتفعيل التحسينات باستخدام المكوّن الإضافي لبرنامج التحويل البرمجي للغة Kotlin. |
compose.foundation | يمكنك كتابة تطبيقات Jetpack Compose باستخدام الوحدات الأساسية الجاهزة للاستخدام وتوسيع نطاق الأساس لإنشاء أجزاء نظام التصميم الخاصة بك. |
compos.material | يمكنك إنشاء واجهات مستخدم في Jetpack Compose باستخدام مكوّنات "التصميم المتعدد الأبعاد" الجاهزة للاستخدام. هذه هي نقطة دخول المستوى الأعلى في Compose، والتي تم تصميمها لتوفير مكونات تتطابق مع تلك الموضّحة في www.material.io. |
compos.material3 | يمكنك إنشاء واجهات مستخدم في Jetpack Compose باستخدام مكونات Material Design 3، وهي التطوّر القادم للتصميم المتعدد الأبعاد. يتضمّن Material 3 مظاهر ومكوّنات معدَّلة وميزات تخصيص Material You، مثل الألوان الديناميكية، وتم تصميمه ليكون متماسكًا مع النمط المرئي الجديد في Android 12 وواجهة مستخدم النظام. |
compose.runtime | الوحدات الأساسية لنموذج البرمجة وإدارة الحالة في Compose، ووقت التشغيل الأساسي الذي يستهدفه المكوّن الإضافي Compose Compiler. |
compose.ui | المكونات الأساسية لواجهة مستخدم الإنشاء اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال. |
إعلان التبعيات
لإضافة تبعية إلى Compose، عليك إضافة مستودع Maven إلى مشروعك. لمزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة الخاصة بك:
رائع
dependencies { implementation "androidx.compose.animation:animation:1.6.4" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.11" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.4") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.11" } kotlinOptions { jvmTarget = "1.8" } }
لمزيد من المعلومات حول التبعيات، انظر إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
الإصدار 1.7
الإصدار 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.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 باستخدام الشرائح الرتيبة. من المفيد على وجه التحديد إدخال القيم الموضعية مثلOffset
وIntOffset
وDpOffset
. تمت الإضافة كواجهة برمجة تطبيقات تجريبية.
إصلاح الأخطاء
- يجب إضافة توافق العارض لـ "تدرج التدرج" في
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)
- مزيد من الاستثناءات من قيمة التعداد (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 على هذه الالتزامات.
إصلاح الأخطاء
تم إصلاح المشكلة المتمثلة في استدعاء
.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
واجهات برمجة التطبيقات (API) ثابتة الآن، وتمت إعادة تسميةAnimatedContentScope
إلىAnimatedContentTransitionScope
. أصبحت الآنscaleIn
وscaleOut
واجهات برمجة تطبيقات ثابتة. (Iaf54e)
الإصدار 1.4
الإصدار 1.4.3
3 أيار (مايو) 2023
تم طرح androidx.compose.animation:animation:1.4.3
وandroidx.compose.animation:animation-core:1.4.3
وandroidx.compose.animation:animation-graphics:1.4.3
بدون أي تغييرات (إصدار تجريبي فقط).
الإصدار 1.4.2
19 نيسان (أبريل) 2023
تم إصدار androidx.compose.animation:animation:1.4.2
وandroidx.compose.animation:animation-core:1.4.2
وandroidx.compose.animation:animation-graphics:1.4.2
بدون أي تغييرات. يتضمّن الإصدار 1.4.2 هذه الالتزامات.
الإصدار 1.4.1
5 نيسان (أبريل) 2023
تم إصدار androidx.compose.animation:animation:1.4.1
وandroidx.compose.animation:animation-core:1.4.1
وandroidx.compose.animation:animation-graphics:1.4.1
بدون أي تغييرات. يتضمّن الإصدار 1.4.1 هذه الالتزامات.
الإصدار 1.4.0
22 آذار (مارس) 2023
تم طرح androidx.compose.animation:animation:1.4.0
وandroidx.compose.animation:animation-core:1.4.0
وandroidx.compose.animation:animation-graphics:1.4.0
. يتضمّن الإصدار 1.4.0 هذه الالتزامات.
التغييرات المهمة منذ الإصدار 1.3.0
- يتوافق تصنيف الأدوات مع r
ememberInfiniteTransition
وجميع دوال الإضافات علىInfiniteTransition
وخيار Transition (مثلInfiniteTransition#animateColor
) (I56ef7).
الإصدار 1.4.0-rc01
8 آذار (مارس) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-rc01
وandroidx.compose.animation:animation-core:1.4.0-rc01
وandroidx.compose.animation:animation-graphics:1.4.0-rc01
بدون أي تغييرات. يحتوي الإصدار 1.4.0-rc01 على هذه الالتزامات.
الإصدار 1.4.0-beta02
22 شباط (فبراير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-beta02
وandroidx.compose.animation:animation-core:1.4.0-beta02
وandroidx.compose.animation:animation-graphics:1.4.0-beta02
بدون أي تغييرات. يحتوي الإصدار 1.4.0 -beta02 على هذه الالتزامات.
الإصدار 1.4.0-beta01
8 شباط (فبراير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-beta01
وandroidx.compose.animation:animation-core:1.4.0-beta01
وandroidx.compose.animation:animation-graphics:1.4.0-beta01
بدون أي تغييرات. يحتوي الإصدار 1.4.0 -beta01 على هذه الالتزامات.
الإصدار 1.4.0-alpha05
25 كانون الثاني (يناير) 2023
تم طرح androidx.compose.animation:animation:1.4.0-alpha05
وandroidx.compose.animation:animation-core:1.4.0-alpha05
وandroidx.compose.animation:animation-graphics:1.4.0-alpha05
. يحتوي الإصدار 1.4.0-alpha05 على هذه الالتزامات.
التغييرات
- لم يتم إجراء أي تغييرات في مكتبات الصور المتحركة منذ الإصدار الأولي الأخير، إصدار التصادم فقط
الإصدار 1.4.0-alpha04
11 كانون الثاني (يناير) 2023
تم طرح androidx.compose.animation:animation:1.4.0-alpha04
وandroidx.compose.animation:animation-core:1.4.0-alpha04
وandroidx.compose.animation:animation-graphics:1.4.0-alpha04
. يحتوي الإصدار 1.4.0-alpha04 على هذه الالتزامات.
الميزات الجديدة
- تصنيف الأدوات متاح في
rememberInfiniteTransition
وجميع دوال الإضافات علىInfiniteTransition
وTransition
(مثلInfiniteTransition#animateColor
) (I56ef7).
تغييرات واجهة برمجة التطبيقات
- أصبحت واجهات برمجة التطبيقات
InfiniteTransition#TransitionAnimationState
وInfiniteTransition#animations
متاحة للجميع الآن. (I36682)
الإصدار 1.4.0-alpha03
7 كانون الأول (ديسمبر) 2022
تم طرح androidx.compose.animation:animation:1.4.0-alpha03
وandroidx.compose.animation:animation-core:1.4.0-alpha03
وandroidx.compose.animation:animation-graphics:1.4.0-alpha03
. يتضمّن الإصدار 1.4.0-alpha03 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- في اختبارات واجهة المستخدم التي تستخدم قاعدة إنشاء، لن يتم إرسال عمليات المتابعة التي تم استئنافها أثناء استدعاءات
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 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح الرسوم المتحركة غير الصحيحة للمقاطعة في فيديوAnimationContent (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 حتى الإصدار التجريبي 02.
الإصدار 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
- أصبحت ميزة إنشاء صورة متحركة الآن متوافقة مع إعداد "مقياس مدة الرسوم المتحركة" من "خيارات المطوّرين".
- مجموعة كبيرة من منحنيات الإرخاء التجريبية الجديدة.
- يمكن الآن استخدام
repeatCount
وrepeatMode
في "AnimatedImageVector
"
الإصدار 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)
- قيمة ثابتة من RTL في
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 مساحة التصميم الخاصة بها لاستيفاء إرشادات إمكانية الوصول الخاصة بمواد العرض لحجم مساحة اللمس. على سبيل المثال، سيتم توسيع مساحة اللمس المستهدفة للزر إلى حدّ أدنى للحجم يبلغ 48x48 بكسل مستقل الكثافة، حتى في حال ضبط حجم الزر ليكون أصغر. يعمل هذا على مواءمة Compose Material مع سلوك مكونات التصميم المتعدد الأبعاد نفسه، مما يوفر سلوكًا متسقًا إذا كنت تمزج بين طرق العرض والإنشاء. يضمن هذا التغيير أيضًا استيفاء الحد الأدنى من متطلبات تسهيل استخدام مساحة اللمس عند إنشاء واجهة المستخدم باستخدام مكونات 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 على هذه الالتزامات.
إصلاح الأخطاء
- تم التعديل لإتاحة Compose Material 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 أيضًا كمفتاح لحفظ المحتوى واستعادته. (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)التغيير العاجل: تم نقل lambdas في مصانع Enter/ExitRecoveryion إلى الموضع الأخير في قائمة المعلّمات. (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
للاعتماد على لغة البرمجة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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يتم الآن دعم Start Offset بشكل قابل للتكرار وغير محدود للتكرار، كطريقة لتأخير وقت البدء أو تقديم الرسوم المتحركة بسرعة قبل بدء الرسوم المتحركة. لن يتم تكرار إزاحة البداية هذه (Ic679f، b/195079908).
- خيار انتقال الدخول/الخروج الجديد لتغيير الحجم ويمكن استخدامه مع أنواع أخرى من انتقالات الدخول/الخروج. (I372da، b/191325593)
الإصدار 1.1.0-alpha01
4 آب (أغسطس) 2021
تم طرح androidx.compose.animation:animation:1.1.0-alpha01
وandroidx.compose.animation:animation-core:1.1.0-alpha01
وandroidx.compose.animation:animation-graphics:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
AnimatedImageVector
وواجهات برمجة التطبيقات ذات الصلة الآن في الوحدة الجديدةandroidx.compose.animation:animation-graphics
. (I60873)
إصلاح الأخطاء
- تم نقل
InfiniteAnimationPolicy
إلى :compose:ui (I5eb09، b/160602714)
الإصدار 1.0
الإصدار 1.0.5
3 تشرين الثاني (نوفمبر) 2021
تم طرح androidx.compose.animation:animation:1.0.5
وandroidx.compose.animation:animation-core:1.0.5
. يتضمّن الإصدار 1.0.5 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مثيلات تتبُّع الأعطال المشتقّة. (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
. لا تزال ميزة إنشاء 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>
واصفًا للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، يجب وصف السمةLandroidx/compose/runtime/SlotTable;
للصفandroidx.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.consumePosition Change في عمليات معاودة الاتصال 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
.- دعم عملية نقل طفل جديد في Migrateion
- إتاحة الرسوم المتحركة الانتقالية المخصّصة للخروج أو الدخول في Move visibility باستخدام AnimationScope.transition
- إمكانية الوصول إلى مفتاح تعديل animateEnterExit الجديد لدى جميع الأطفال في ميزة Animative visibility
- تم إيقاف واجهات برمجة تطبيقات Interactive 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)
- تم تغيير حزمتَي sample ScrollBy وScrollBymethods إلى
androidx.compose.foundation.gestures.*
(I3f7c1 وb/175294473) - تمت إعادة تسمية مفاتيح تعديل الحجم. تمت إعادة تسمية Modifier.width/height/size إلى required width/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.Favorite توفّرها/FavoriteHeight/FavoriteSize إلى العرض/الارتفاع/الحجم. (I5b414)
- تم نقل التوجيه إلى حزمة الأساس. تم نقل VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8، b/175294473)
- تمت إزالة AnimationClockMonitorable والفئات الفرعية. تمت إزالة تعرفة AntiFloat. (Icde52، b/177457083)
- يقبل Modifier.draggable الآن أن يكون DraggableState بدلاً من دالة lambda بسيطة. ويمكنك إنشاء حالة من خلال
rememberDraggableState { delta -> }
للحصول على السلوك نفسه كما في السابق (Ica70f، b/175294473). - تمت إزالة واجهات برمجة تطبيقات animate، animatedValue، وAnimationValue (If27bc، وb/177457083)
- تمت إزالة AnimationEndreason.Interupted. سيتم تجاهل Cancel Exception في حال مقاطعة الرسوم المتحركة. (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) - تمّت إعادة تسمية الحدود إلى 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 قد تم تخزينه في الحزمة. إذا كنت في السابق تمرِّر كائن توفير مخصّص، عليك الآن استخدام حمل زائد جديد من عناصر sortables التي تحتوي على مَعلمةstateSaver
. سيظهر الاستخدام على النحو التالي:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26، b/177338004) - تم تحديث توقيع طريقة Crossfade ليكون أكثر اتساقًا مع بقية نظام الرسوم المتحركة. (Ib05ed، b/177457083)
- تمت إعادة تسمية renameSavedInstanceState() إلى {8/}Saveable() وتم نقلها إلى androidx.compose.runtime.saveable package. (I1366e، b/177338004)
- تمت إعادة تسمية RestorableStateHolder إلى SaveableStateHolder وتم نقلها إلى حزمة androidx.compose.runtime.saveable. تمت إعادة تسمية الطريقة الداخلية RestorableStateProvider إلى SaveableStateProvider. تمت إزالة النوع العام بحيث يمكنك فقط تمرير "Any" كمفتاح. لم يعُد هناك حاجة إلى التعليق التوضيحي التجريبي. (I0902e، b/174598702)
- تم تحديث واجهة برمجة التطبيقات Modifier.animateContentSize لتكون متسقة مع بقية نظام الصور المتحركة. (I0bf75، b/177457083)
- لقد تمّ الآن إيقاف موضع الرسوم المتحركة أو قيمة Float نهائيًا. يُرجى استخدام رسوم متحركة بدلاً من ذلك. (I71345، b/177457083)
- تم إيقاف clickOptionFilter وDoubleTapOptionFilter وlongPressOptionFilter و pressNodeaitonActivityFilter نهائيًا. استخدِم Modifier.clickable أو "Modifier.pointerInput" مع وظيفة "detectTapOptions" بدلاً من ذلك. (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)
- النقل اللانهائي الجديد الذي يشغّل أي عدد من الرسوم المتحركة التابعة له. (I1da81)
- يغيّر واجهات مَعلمات تحديد الحالة في المادة الأساسية لتصبح دوال @Composable التي تعرض الخطأ
State<T>
. تضيف Animatable.asState() لتسهيل تحويل Animatable إلى حالة. يتم أيضًا تغيير animateElevation لتصبح امتداد تعليق على Animatable. (If613c)
إصلاح الأخطاء
- تم إيقاف onCommit وonDisposition وonActive لتحلّ محلّها واجهات SideEffect وDisableEffect API (If760e).
- تتوفّر الآن "الحالة الأولية" في updateIntegrationion (Ifd51d).
- تمت إضافة معلمة وصف المحتوى إلى الصورة والرمز. ويتم استخدامه لتقديم وصف لخدمات تسهيل الاستخدام (I2ac4c).
- تم الآن إيقاف in مؤخرًا وchangeReference() لتحلّ محلّهما 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) - تمت إعادة تسمية الموضع إلى Dp Offset وإزالة 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 وما إلى ذلك إلى نواة الرسوم المتحركة، وتم إيقاف VectorConveters القديم (If0c4b)
- تم تقديم مجموعة جديدة كاملة من واجهات برمجة تطبيقات Transition API، مع سهولة تحسين الاستخدام، ودعم الصور المتحركة المضافة ديناميكيًا، وأهداف الصور المتحركة التي تم حسابها ديناميكيًا. تم وضع علامة على واجهات برمجة التطبيقات هذه على أنها تجريبية للتمييز السهل عن واجهة برمجة التطبيقات المستندة إلى TransionDefinition. (Ia7fe3)
إصلاح الأخطاء
- تعرض Lambdas في معدِّلات الإزاحة الآن Int Offset بدلاً من Float. (Ic9ee5 وb/174137212 وb/174146755)
- أوقِف LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed، يمكنك استخدام LazyColumn وLazyRow بدلاً من ذلك (I5b48c).
- بالنسبة إلى تعليق واجهات برمجة التطبيقات الخاصة بإدخال المؤشر، تمت إعادة تسمية HandlePointerInputScope إلى AوايPointerEventScope، وإلى handlePointerInput() إلى auePointerEventScope(). (Idf0a1، b/175142755)
- دالة جديدة infiniteRepeatable لإنشاء قيمة InfiniteRepeatableSpec (I668e5)
- تمت إزالة التعليق التوضيحي BETAPointerInput (Ia7a24)
الإصدار 1.0.0-alpha08
2 كانون الأول (ديسمبر) 2020
تم طرح androidx.compose.animation:animation:1.0.0-alpha08
وandroidx.compose.animation:animation-core:1.0.0-alpha08
. يحتوي الإصدار 1.0.0-alpha08 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التحقق من الوبر لتسمية معلمة lambda القابلة للإنشاء وموضعها، وذلك للتحقق من الاتساق مع إرشادات الإنشاء.
تم أيضًا نقل بيانات بعض واجهات برمجة التطبيقات باستخدام
children
كاسم لدالة lambda اللاحقة إلىcontent
، وفقًا لعمليات فحص الوبر والإرشادات. (Iec48e) - تمت إزالة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا:
- تمت إزالة
Modifier.onPositioned
. يمكنك استخدامModifier.onGloballyPositioned
. - تمت إزالة
Modifier.onDraw
. يمكنك استخدامModifier.onDrawBehind
. - تمت إزالة
Modifier.plus
. يمكنك استخدامModifier.then
. - تمت إزالة
Color.Unset
. يمكنك استخدامColor.Unspecified
. - تمت إزالة صف واحد (
PxBounds
). يمكنك استخدامRect
بدلاً منه. - (Ie9d02، b/172562222)
- تمت إزالة
- تمت إضافة خيار مؤقتًا للسماح بتشغيل TestAnimationClock من خلال MonotonicFrameClock (I1403b، b/173402197)
إصلاح الأخطاء
- تمت إعادة تسمية Modifier.DrawLayer إلى Modifier.graphicsLayer (I0bd29، b/173834241)
- تمت إضافة Modifier.scale/تدوير واجهات
برمجة التطبيقات كوسائل راحة لـ 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 على هذه الالتزامات.
إصلاح الأخطاء
- تم نهائيًا إيقاف الميزات الأساسية "epTextStyle" و"OfferTextStyle" و""،ampContentColor" نهائيًا. وبدلاً من ذلك، يمكنك استخدام الإصدارات الجديدة المتوفرة في مكتبة Material. بالنسبة إلى التطبيقات غير Material، عليك إنشاء نظام التصميم الخاص بك البيئات المحيطة التي يمكن استخدامها في المكونات الخاصة بك. (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 مع مراعاة إزالة خيار تفعيل المؤشر الوامض من ComposeTestRules. (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)
نهائيًا يمكنك الوصول إلى القيمة الحالية باستخدام
.current
في سمة "وضع الإضاءة السينمائية" كما هو الحال مع أي بيئة محيطة أخرى. تم إجراء هذا التغيير من أجل الاتساق وتجنب وجود طرق متعددة لإنجاز نفس الشيء. بالإضافة إلى ذلك، ستتم إعادة تسمية بعض الخصائص في البيئة المحيطة لوصف الغرض منها بشكل أفضل على النحو التالي:- ContentColor بيّنة -> ألوان شاشة الاستراحة
- TextStyle أجواء استرخاء
- الإشارة المحيطة -> الإشارة إلى البيئة المحيطة
- التأكيد المحيط -> ampEmphasisLevels
- RippleTheme am -> sitemapRippleTheme (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- التعليقات التوضيحية الجذرAnimationClock استمرارية، وانتقالsEnabled، وblinkingCursorEnabled، وtextInputService وعرض المواصفات
إصلاح الأخطاء
- تم تحديث العديد من واجهات برمجة التطبيقات للرسومات
- تم تحديث واجهات برمجة التطبيقات للمقياس والتدوير لاستهلاك معلمة إزاحة واحدة لتمثيل الإحداثي المحوري بدلاً من المعلَمات العائمة المنفصلة للإحداثيات x/y في DrawScope وDrawTransform
- تمت إزالة الطريقتين Rect.expandToinclude وRect.join
- تم تحديث وثائق نصف القطر لتوضيح الشكل البيضاوي بالإضافة إلى البيضاوي
- الوثائق الإضافية التي تشير إلى أن الدالة الإنشائية العامة لفئة نصف القطر المضمنة لا يتم استدعاءها بشكل مباشر ولكن بدلًا من ذلك يجب إنشاء مثيل لكائنات النطاق الجغرافي من خلال الدالة الإنشائية للدوال
- تمت إزالة واجهات برمجة تطبيقات RoundRect لطلب البحث في topRight، وbottomRight، و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.minسام
- تم تغيير 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 الجديد في تكديس العناصر الفرعية فوق بعضها البعض عندما يكون لديه العديد من العناصر الثانوية - وهذا يختلف عن Box السابق، الذي كان يعمل مشابهًا للعمود. (I94893، b/167680279)
- تم إيقاف مَعلمات تزيين الصندوق نهائيًا. إذا كنت تريد إضافة زخارف أو مساحة متروكة في المربّع، استخدِم "المعدِّلات" بدلاً من ذلك (Modifier.background أو Modifier.الحد أو Modifier.adding) (Ibae92، b/167680279).
- لقد منعنا عمليات الاستيراد الثابتة لمحتويات نطاقات التنسيق (مثل وهذا النوع من المحتوى في 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
عند إجراء الاختبارات التي تحتاج إلى TechnicalFrameClock.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 وأصبحوا الآن يعرض سلوك 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)
- أصبحت Int Offset الآن فئة مضمّنة (Iac0bf).
- أصبح IntSize الآن فئة مضمّنة (I2bf42).
إنّ الرسوم المتحركة القابلة للإنشاء تحرّك حركيًا إلى مظهر المحتوى الثانوي واختفائه.
ويتم تقديم Entertransition وExitTransition لاستخدام الرسوم المتحركة مع AnimatedVisipilty لتوفير 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)
إصلاح الأخطاء
- تم تحديث واجهات برمجة التطبيقات للدعم من اليمين إلى اليسار. تمت إضافة LayoutDirection للانغماس، والتي يمكن استخدامها لقراءة اتجاه التنسيق وتغييره. تمت إزالة Modifier.rtl وModifier.ltr. (I080b3)
- يمكنك طلب تحديد النوع T بشكل صريح من أجلtransitDefinition. (I1aded)
- Foundation.shape.corner مُسطَّح على Foundation.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، عليك تعديل تبعياتك وفقًا لمقتطفات الرمز الجديدة الموضّحة أعلاه في قسم توضيح التبعيات.
تغييرات واجهة برمجة التطبيقات
- تم تغيير واجهة برمجة تطبيقات transitionState لعرض TransitionState بدلاً من تمرير TransitionState إلى عناصر فرعية. وهذا يجعل واجهة برمجة التطبيقات أكثر اتساقًا مع واجهات برمجة تطبيقات ananimate(). (I24e38)
- تمت إضافة مَعلمة التعديل للتلاشي المتداخل (I87cfe، b/159706180)
- استخدِم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى
لتوضيح مفهوم مواصفات الرسوم المتحركة الثابتة
- قم بتحسين عملية الانتقال DSL عن طريق إزالة مطلب lambda لإنشاء مواصفات الرسوم المتحركة مثل tween أو spring. وبدلاً من ذلك، تتعامل مع المَعلمات الإنشائية مباشرةً.
- حسِّن سهولة استخدام AnimationSpec عند فتح الدوال الإنشائية لـ AnimationSpec بدلاً من الاعتماد على منصات الإنشاء
- يمكنك تغيير المدة وفترة التأخير لكل من KeyFrames وTween إلى Int، حيث يؤدي ذلك إلى القضاء على عمليات التحويل غير الضرورية والتحميل الزائد على الطريقة (لإتاحة كل من تنسيق "long" (خط الطول) و"Int"). (Ica0b4)
- تم استبدال استخدام IntPx بـ IntPxPosition وInt Offset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات المقاس، عليك توحيد استخدام فئة Size بدلاً من PxSize. يوفر هذا فوائد إحدى الفئات المضمنة للاستفادة من قيمة طويلة لحزمة 2 من القيم العائمة لتمثيل العرض والارتفاع الممثلين كأعداد عشرية. (Ic0191)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات تحديد الموضع، عليك توحيد استخدام فئة الإزاحة بدلاً من PxPosition. يوفر هذا فوائد الفئة المضمنة للاستفادة من قيمة طويلة لحزمة 2 من القيم العائمة لتمثيل إزاحة x وy ممثلة كأعداد عشرية. (I3ad98)
- استبدل الاستخدام المستبدل لفئة Px في مختلف الفئات كجزء من الجهود الكبيرة لإعادة بناء الهيكلة للاعتماد فقط على Dp والأنواع الأولية لمعلمات البكسل (I086f4)
- تمت إضافة دعم animate() في Dp وPx وSize وPosition وBounds وPxPosition وPxSize وPxBounds وIntPx وIntPxSize وIntPxPosition وIntPxBounds وAnimationVector (Ib7518).
- تقبل ميزة Crossfade الآن مَعلمة AnimationBuilder الاختيارية للسماح بضبط الصورة المتحركة (I6d6e0).
- تم استبدال جميع استخدامات اللون القابلة للقيم الفارغة في واجهة برمجة التطبيقات بالقيمة غير الفارغة واستخدام Color.Unset بدلاً من "فارغ" (IBAa7)
- تمت إزالة فئة ValueHolder. وفئات رسوم الرسوم المتحركة التي تمت إعادة بنائها ورسمها المتحركة
لجعل حقل قيمة الرسوم المتحركة تجريديًا بحيث يمكن للفئات الفرعية مشاهدة تحديث القيمة.
- تمت إضافة فئات نماذج لـAnimationValue وAnimationFloat وما إلى ذلك.
- تمت إضافة مجموعة جديدة من واجهة برمجة التطبيقات @Composable خفيفة الوزن للتنقل بين القيم. (I79530)
- تم إجراء تغييرات على واجهة برمجة التطبيقات في أجواء الإضاءة المحيطة. اطّلِع على السجلّ ومستندات
Ambient<T>
للحصول على التفاصيل (I4c7ee، b/143769776) - وضع التكرار الجديد: وضع التكرار العكسي يعكس هذا الوضع التكرار السابق بينما تتكرر الرسوم المتحركة في RepeatableSpec أو VectorizedRepeatableSpec. (Ibe0f5)
- إضافات واجهة برمجة التطبيقات إلى DeliverAnimationClock:
hasObservers: Boolean
ومَعلمة الدالة الإنشائيةdispatchOnSubscribe: Boolean
(Iaa134) - تمت إضافة واجهات برمجة تطبيقات للحصول على حدود الحد الأدنى/الأقصى في MoveFloat (Icd9cc)
إصلاح الأخطاء
- تمت إعادة تسمية
runOnIdleCompose
إلىrunOnIdle
(I83607) - تمت إعادة تسمية العديد من واجهات برمجة التطبيقات التجريبية لتصبح أكثر سهولة. تمت إعادة تسمية جميع واجهات برمجة تطبيقات FindXYZ إلى 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 لتنفيذ واجهة Density وتوفير LayoutDirection وحذف الفئة الفرعية DrawScope في ContentDrawScope تم تعديل "Painter" وPainterModifier على التوقف عن الاحتفاظ بخاصية RTL في حد ذاتها، لأن DrawScope يوفّر ذلك يدويًا بدون تقديمه يدويًا (I1798e)
- تم تحديث واجهات برمجة التطبيقات ذات المستوى الأعلى التي تعرض "لوحة الرسم" لعرض CanvasScope بدلاً من ذلك. يؤدي ذلك إلى إزالة حاجة المستهلكين إلى الحفاظ على كائنات الطلاء الخاصة بهم. بالنسبة إلى المستهلكين الذين ما زالوا يطلبون الوصول إلى لوحة رسم، يمكنهم استخدام طريقة إضافة drawCanvas التي توفر معاودة اتصال لإصدار أوامر الرسم من لوحة الرسم الأساسية. (I80afd)
- تمت إضافة معلمتي verticalGravity وhorizontalGravity إلى "الصف" والعمود، على التوالي. (I7dc5a)
- تمت إعادة تسمية وحدة ui-text باسم ui-text-core (I57dec).
- تحسين DrawModifier API:
- تم إنشاء نطاق المستلم لـ draw() ContentDrawScope
- تمت إزالة جميع المعلمات في draw()
- يحتوي DrawScope على الواجهة نفسها المُستخدَمة في تطبيق CanvasScope.
- يحتوي ContentDrawScope على طريقة drawContent() (Ibaced، b/152919067)
runOnIdleCompose
وrunOnUiThread
هما الآن دالتان عموميتان بدلاً من الطرق في ComposeTestRules. (Icbe8f)- [Mutable]تم نقل عوامل التشغيل المفوَّضة إلى المواقع الإلكترونية في الولاية إلى الإضافات
لإتاحة تحسينات تفويض المواقع الإلكترونية في Kotlin 1.4. على المتصلين إضافة عمليات استيراد
لمواصلة استخدام "
by state { ... }
" أو "by mutableStateOf(...)
". (I5312c) - تم إيقاف ColoredRect نهائيًا. يمكنك استخدام
Box(Modifier.preferredSize(width, height).drawBackground(color))
كبديل. (I499fa، b/152753731) - تم استبدال عامل التشغيل بالإضافة إلى التعديل بوظائف الإضافة على الإعدادات الأصلية (I225e4)
- عنصر قابل للإنشاء من مركز متوقّف نهائيًا. يجب استبداله إما بمعدِّل LayoutSize.Fill + Layout.Center أو بأحد العناصر القابلة للإنشاء في Box أو Stack مع تطبيق معدِّلات مناسبة (Idf5e0).
- تمت إعادة تسمية Layout Flex إلى Layout Weight (وزن التخطيط). تمت إعادة تسمية المعلمة المحدودة للتعبئة. (If4738)
- تم استبدال دالة "التعتيم" القابلة للإنشاء بمعدِّل drawOpacity. (I5fb62)
- توفّر الاختبارات التي تستخدم AndroidComposeTestRule الآن ساعة متحرّكة في جذر تركيبة الصورة، ما يسمح بإيقافها مؤقتًا واستئنافها وتطويرها يدويًا. (Id54c5)
- إتاحة الاتجاه من اليمين إلى اليسار في أداة تعديل LayoutPadding (I9e8da)
- تم دمج الكثافة وDensityScope في واجهة واحدة. يمكنك الآن استخدام Density الربط بواقع المحيطات بدلاً من استخدام "amindensity() ". بدلاً من 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.disposition Compose نهائيًا. يُرجى استخدام طريقةdispose
علىComposition
التي يعرضهاsetContent
بدلاً من ذلك. تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto