إنشاء الصورة المتحركة
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(يمكنك الاطّلاع على المستندات المرجعية لواجهة برمجة التطبيقات لجميع حِزم الإنشاء)
آخر تعديل | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | الإصدار الأولي |
---|---|---|---|---|
29 تشرين الثاني (نوفمبر) 2023 | 1.5.4 | - | الإصدار التجريبي 1.6.0-02 | - |
التركيبة
تشتمل ميزة "الكتابة" على 7 أرقام تعريف لمجموعة Maven ضمن androidx
. تحتوي كل مجموعة على مجموعة فرعية مستهدفة من الوظائف، ولكل منها مجموعة خاصة من ملاحظات الإصدار.
يشرح هذا الجدول المجموعات والروابط لكل مجموعة من ملاحظات الإصدار.
مجموعة | الوصف |
---|---|
compose.animation | يمكنك إنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم. |
compose.compiler | يمكنك تحويل الدوال @Composable وتفعيل التحسينات باستخدام المكوِّن الإضافي لبرنامج المحول البرمجي بلغة Kotlin. |
compose.foundation | اكتب تطبيقات Jetpack Compose مع الوحدات الأساسية الجاهزة للاستخدام ووسِّع نطاق الأساس لإنشاء أجزاء نظام التصميم الخاصة بك. |
compose.material | يمكنك إنشاء واجهات مستخدم في Jetpack Compose تتضمّن مكونات جاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في Compose، والتي تم تصميمها لتوفير مكوّنات تتوافق مع تلك الموضّحة في www.material.io. |
compospos.material3 | أنشئ واجهات مستخدم في Jetpack Compose باستخدام مكونات Material Design 3، وهي التطوّر التالي للتصميم المتعدد الأبعاد. يتضمّن Material 3 تصميمات ومكوّنات محدّثة وميزات تخصيص Material You، مثل الألوان الديناميكية، وهي مصممة لتكون متناسقة مع النمط المرئي الجديد في Android 12 وواجهة مستخدم النظام. |
compose.runtime | الوحدات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي للمكوّن الإضافي Compose Compiler لاستهدافه. |
compose.ui | يلزم استخدام المكونات الأساسية لواجهة المستخدم الإنشاء للتفاعل مع الجهاز، بما في ذلك التخطيط والرسم والإدخال. |
تعريف التبعيات
لإضافة تبعية إلى Compose، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven الذي يضم أدوات Google للحصول على مزيد من المعلومات.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو وحدتك:
رائع
dependencies { implementation "androidx.compose.animation:animation:1.5.4" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.6" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.5.4") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.6" } kotlinOptions { jvmTarget = "1.8" } }
ولمزيدٍ من المعلومات عن التبعيات، يُرجى الاطّلاع على مقالة إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
الإصدار 1.6
الإصدار 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) - يمكنك إعادة تسمية مرح Infix باستخدام
togetherWith
للجمع بين انتقالي الدخول والخروج. تم تعيينAnimatedContentScope
كمستلم جديد للمحتوى lambda. (Ic39ae)
الإصدار 1.5.0-alpha02
5 نيسان (أبريل) 2023
تم إصدار "androidx.compose.animation:animation-*:1.5.0-alpha02
". يحتوي الإصدار 1.5.0-alpha02 على هذه الالتزامات.
الميزات الجديدة
- واجهة برمجة تطبيقات تجريبية جديدة لإتاحة المستقبل في
SubcomposeLayout
. يسمح هذا الإجراء لـSubcomposeLayout
بالعمل بشكل صحيح فيLookaheadScope
. سيتوفّر قريبًا المزيد من الدعم المبتكر للأنواع الفرعية المحددة منSubcomposeLayout
.
تغييرات واجهة برمجة التطبيقات
- واجهة برمجة تطبيقات
SubcomposeLayout
جديدة تتخذ سياسة إجراء وسيط إضافية للتعامل مع منطق القياس/التنسيق أثناء الصور المتحركة المستندة إلى النظرة المسبقة. (I017d3)
الإصدار 1.5.0-alpha01
22 آذار (مارس) 2023
تم إصدار "androidx.compose.animation:animation-*:1.5.0-alpha01
". يحتوي الإصدار 1.5.0-alpha01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- أصبحت
AnimatedContent
واجهات برمجة التطبيقات ثابتة الآن، وتمت إعادة تسميةAnimatedContentScope
إلىAnimatedContentTransitionScope
. أصبحتscaleIn
وscaleOut
واجهة برمجة تطبيقات ثابتة حاليًا. (Iaf54e)
الإصدار 1.4
الإصدار 1.4.3
3 أيار (مايو) 2023
تم إصدار androidx.compose.animation:animation:1.4.3
وandroidx.compose.animation:animation-core:1.4.3
وandroidx.compose.animation:animation-graphics:1.4.3
بدون أي تغييرات (إصدار تجريبي فقط).
الإصدار 1.4.2
19 نيسان (أبريل) 2023
تم إصدار androidx.compose.animation:animation:1.4.2
وandroidx.compose.animation:animation-core:1.4.2
وandroidx.compose.animation:animation-graphics:1.4.2
بدون أي تغييرات. يتضمّن الإصدار 1.4.2 هذه الالتزامات.
الإصدار 1.4.1
5 نيسان (أبريل) 2023
تم إصدار androidx.compose.animation:animation:1.4.1
وandroidx.compose.animation:animation-core:1.4.1
وandroidx.compose.animation:animation-graphics:1.4.1
بدون أي تغييرات. يتضمّن الإصدار 1.4.1 هذه الالتزامات.
الإصدار 1.4.0
22 آذار (مارس) 2023
تم إصدار androidx.compose.animation:animation:1.4.0
وandroidx.compose.animation:animation-core:1.4.0
وandroidx.compose.animation:animation-graphics:1.4.0
. يحتوي الإصدار 1.4.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 1.3.0
- تصنيف الأدوات متاح في r
ememberInfiniteTransition
وجميع وظائف الإضافات فيInfiniteTransition
وTransition (مثلInfiniteTransition#animateColor
) (I56ef7).
الإصدار 1.4.0-rc01
8 آذار (مارس) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-rc01
وandroidx.compose.animation:animation-core:1.4.0-rc01
وandroidx.compose.animation:animation-graphics:1.4.0-rc01
بدون أي تغييرات. يحتوي الإصدار 1.4.0-rc01 على هذه الالتزامات.
الإصدار 1.4.0-beta02
22 شباط (فبراير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-beta02
وandroidx.compose.animation:animation-core:1.4.0-beta02
وandroidx.compose.animation:animation-graphics:1.4.0-beta02
بدون أي تغييرات. يتضمّن الإصدار 1.4.0-beta02 هذه الالتزامات.
الإصدار 1.4.0-beta01
8 شباط (فبراير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-beta01
وandroidx.compose.animation:animation-core:1.4.0-beta01
وandroidx.compose.animation:animation-graphics:1.4.0-beta01
بدون أي تغييرات. يتضمّن الإصدار 1.4.0-beta01 هذه الالتزامات.
الإصدار 1.4.0-alpha05
25 كانون الثاني (يناير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-alpha05
وandroidx.compose.animation:animation-core:1.4.0-alpha05
وandroidx.compose.animation:animation-graphics:1.4.0-alpha05
. يحتوي الإصدار 1.4.0-alpha05 على هذه الالتزامات.
التغييرات
- لم يتم إجراء أي تغييرات في مكتبات الصور المتحركة منذ آخر إصدار أولي، ولكن لم يتم تغيير إصدار سوى الإصدار.
الإصدار 1.4.0-alpha04
11 كانون الثاني (يناير) 2023
تم إصدار androidx.compose.animation:animation:1.4.0-alpha04
وandroidx.compose.animation:animation-core:1.4.0-alpha04
وandroidx.compose.animation:animation-graphics:1.4.0-alpha04
. يحتوي الإصدار 1.4.0-alpha04 على هذه الالتزامات.
الميزات الجديدة
- تصنيف الأدوات متاح في
rememberInfiniteTransition
وجميع وظائف الإضافات علىInfiniteTransition
وTransition
(مثلInfiniteTransition#animateColor
) (I56ef7)
تغييرات واجهة برمجة التطبيقات
- أصبحت واجهات برمجة التطبيقات
InfiniteTransition#TransitionAnimationState
وInfiniteTransition#animations
متاحة للجميع الآن. (I36682)
الإصدار 1.4.0-alpha03
7 كانون الأول (ديسمبر) 2022
تم إصدار androidx.compose.animation:animation:1.4.0-alpha03
وandroidx.compose.animation:animation-core:1.4.0-alpha03
وandroidx.compose.animation:animation-graphics:1.4.0-alpha03
. يحتوي الإصدار 1.4.0-alpha03 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- في اختبارات واجهة المستخدم التي تستخدم قاعدة الإنشاء، لن يتم إرسال عمليات الاستئناف أثناء استدعاءات
withFrameNanos
إلا بعد انتهاء تنفيذ جميع استدعاءات الإطار. يتطابق هذا مع سلوك الإنشاء عند التشغيل بشكل طبيعي. ومع ذلك، قد تفشل الاختبارات التي تعتمد على السلوك القديم. من المفترَض أن يؤثر ذلك فقط في الرمز الذي يستدعيwithFrameNanos
أوwithFrameMillis
مباشرةً، ويكون له منطقي خارج نطاق معاودة الاتصال الذي يتم تمريره إلى تلك الدوال التي قد تحتاج إلى نقلها داخل عمليات الاستدعاء. اطّلِع على التغييرات في اختبار الصور المتحركة في قائمة التشغيل هذه للاطّلاع على أمثلة. - تمت إضافة مَعلمة
onPerformTraversals: (Long) -> Unit
اختيارية إلى الدالة الإنشائيةTestMonotonicFrameClock
والدالة الأصلية لتشغيل الرمز بعدwithFrameNanos
استدعاءات ولكن قبل استئناف الكوروتينات الخاصة بالمتصلين. (Idb413 وb/254115946 وb/222093277 وb/255802670) - معلمة جديدة في
AnimatedContent
لتصنيف الأدوات (Iebe2d)
الإصدار 1.4.0-alpha02
تشرين الثاني (نوفمبر) 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 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح مؤثرات عرض حركة المقاطعة غير الصحيحة في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
تشرين الثاني (نوفمبر) 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
- يتوافق إنشاء الصور المتحركة الآن مع إعداد "مقياس مدة الرسوم المتحركة" من "خيارات المطوّرين".
- مجموعة كبيرة من منحنيات التخفيف التجريبية الجديدة.
- تتوافق ميزة "
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)
- تنسيق 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
- تحسينات على تحديد حجم مساحة اللمس
- تجدر الإشارة إلى أنّه في ما يتعلّق بـ Compose 1.0، ستوسِّع مكوّنات Material من مساحة التنسيق الخاصة بها لاستيفاء إرشادات إمكانية الوصول المتعلّقة بمواد العرض حجم هدف اللمس. على سبيل المثال، سيتم توسيع هدف لمس الزر إلى أدنى حجم يبلغ 48x48dp، حتى في حال ضبط حجم الزر ليكون أصغر. يؤدي هذا إلى مواءمة 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/ExitTransition إلى الموضع الأخير في قائمة المعلمات. (I5072d)
الإصدار 1.1.0-alpha04
15 أيلول (سبتمبر) 2021
تم إصدار androidx.compose.animation:animation:1.1.0-alpha04
وandroidx.compose.animation:animation-core:1.1.0-alpha04
وandroidx.compose.animation:animation-graphics:1.1.0-alpha04
. يحتوي الإصدار 1.1.0-alpha04 على هذه الالتزامات.
الإصدار 1.1.0-alpha03
1 أيلول (سبتمبر) 2021
تم إصدار androidx.compose.animation:animation:1.1.0-alpha03
وandroidx.compose.animation:animation-core:1.1.0-alpha03
وandroidx.compose.animation:animation-graphics:1.1.0-alpha03
. يحتوي الإصدار 1.1.0-alpha03 على هذه الالتزامات.
الميزات الجديدة
- تم تعديل ميزة الإنشاء
1.1.0-alpha03
للاعتماد على لغة البرمجة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).
- تأثير انتقال الدخول/الخروج الجديد لتغيير الحجم ويمكن استخدامه مع الأنواع الأخرى من انتقالات الدخول/المغادرة. (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 على هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مثيلاتStateOf المستمَدة من تتبُّع الأعطال. (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" 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-Formatting
- 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
للإشارة إلى ما إذا كان يجب وضع علامة على هذه الطريقة باعتبارها "Hot" أو "Startup" (بدء التشغيل) أو "Post Startup" (بدء التشغيل).تمثّل السمة
<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
.- توفير جديد لعملية نقل فرعية في Transit
- دعم حركة الانتقال المخصصة للخروج/الدخول في صورة متحركة باستخدام AnimationScope.transition
- يمكن لجميع الأطفال الذين يستخدمون Animated Location المعدَّلة أن يكون مفتاح التعديل الجديد animateEnterExit.
- تم إيقاف واجهة برمجة تطبيقات ActivityVisibility التي تستخدم
المَعلمة
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 متوافقة الآن مع الإصدار 12 من نظام التشغيل Android (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 وScrollBy الطرق إلى
androidx.compose.foundation.gestures.*
(I3f7c1 وb/175294473). - تمت إعادة تسمية أدوات تعديل الحجم. تمت إعادة تسمية Modifier.width/height/size إلى requiredSetup/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.PreferredOffer/FavoriteHeight/PreferredSize إلى العرض/الارتفاع/الحجم. (I5b414)
- تم نقل الاتجاه إلى حزمة الأساس. تم نقل VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8، b/175294473)
- تمت إزالة AnimationClockMonitorable والفئات الفرعية. تمت إزالة صورة متحركة Float. (Icde52، b/177457083)
- يقبل Modifier.draggable الآن DraggableState بدلاً من دالة lambda البسيطة. ويمكنك إنشاء الحالة من خلال
rememberDraggableState { delta -> }
للحصول على السلوك نفسه كما في السابق (Ica70f، b/175294473). - تمت إزالة واجهات برمجة التطبيقات animate وanimatedValue وAnimationValue (If27bc وb/177457083)
- تمت إزالة AnimationEndStatus.Interrupted. سيتم إلغاء خطوة الإلغاء في حال مقاطعة الرسوم المتحركة. (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)
- سنزيل
savedInstanceState { 0 }
كتلك التي تتضمنها فيديوهاتك، وذلك مثلما أزلناstate { 0 }
كتلك التي كانت تُستخدَم في السابق، ونحن نعمل حاليًا على الترويج للاستخدام، مثلremember { mutableStateOf(0) }
. يجب استخدامrememberSaveable { mutableStateOf(0) }
بدلاً من ذلك، وسيتم الحفظ والاستعادة تلقائيًا إذا كان النوع المستخدَم داخل MutableState مخزّنًا في الحزمة. إذا كنت تُمرِّر في السابق كائن توفير مخصّص، يجب الآن استخدام حمل زائد جديد للتذكر المحفوظ في الملف الذي يحتوي على معلَمةstateSaver
. سيظهر الاستخدام على النحو التالي:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26، b/177338004) - تم تحديث توقيع طريقة Crossfade ليكون أكثر اتساقًا مع بقية نظام الرسوم المتحركة. (Ib05ed، b/177457083)
- renameSavedInstanceState() (I1366e، b/177338004)
- تمت إعادة تسمية RestorableStateHolder إلى SaveableStateHolder وتم نقلها إلى حزمة androidx.compose.runtime.saveable. تمت إعادة تسمية الطريقة الداخلية RestorableStateProvider إلى SaveableStateProvider. تمت إزالة النوع العام بحيث يمكنك فقط ضبط "أي" كمفتاح. التعليق التوضيحي التجريبي لم يعد مطلوبًا. (I0902e، b/174598702)
- تم تحديث واجهة برمجة تطبيقات Modifier.animateContentSize لتتوافق مع باقي نظام الصور المتحركة. (I0bf75، b/177457083)
- نتيجةً لذلك، تم الآن إيقاف العمل بميزة "الرسوم المتحركة/العائمة". يُرجى استخدام رسوم متحركة بدلاً من ذلك. (I71345، b/177457083)
- تم إيقاف clickOptionFilter وDoubleTap إِلَىFilterFilter وlongPressOptionFilter و press متصفِّحaitonAnimationFilter نهائيًا. ويمكنك استخدام Modifier.clickable أو Modifier.pointerInput مع وظيفة revealTapالإيماءات بدلاً من ذلك. (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 إلى State. ويتم أيضًا تغيير animateElevation لتصبح إضافة تعليق على Animatable. (If613c)
إصلاح الأخطاء
- تم إيقاف onCommit وonDispose وonActive لتصبح واجهات برمجة تطبيقات SideEffect وDeposableEffect (If760e)
- الحالة الأولية في updateTransition متاحة الآن (Ifd51d)
- تمت إضافة معلمة وصف المحتوى إلى الصورة والرمز. ويُستخدَم في تقديم وصف لخدمات تسهيل الاستخدام (I2ac4c).
- تم الآن إيقاف الحلّ المستقل والمؤلف من () الدمج ()) الحاليَين لصالح العنصرَين الحاليَّين الحاليَين (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.Vector Conversioner وPosition.Vectorconversioner وما إلى ذلك إلى نواة متحركة، وإيقاف استخدام VectorConveters القديم (If0c4b)
- تم تقديم مجموعة جديدة كاملة من واجهات برمجة تطبيقات Transition API مع تحسين سهولة الاستخدام، وإتاحة الصور المتحركة المضافة ديناميكيًا، وأهداف الرسوم المتحركة التي تم حسابها ديناميكيًا. تم وضع علامة على واجهات برمجة التطبيقات هذه كميزة تجريبية للتمييز بسهولة عن واجهة برمجة التطبيقات المستندة إلى TransitionDefinition (واجهة برمجة التطبيقات) (Ia7fe3)
إصلاح الأخطاء
- تعرض منصات Lambdas في معدِّلات الإزاحة الآن IntOffset بدلاً من Float. (Ic9ee5 وb/174137212 وb/174146755)
- أغلق LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed. استخدِم LazyColumn وLazyRow بدلاً من ذلك (I5b48c).
- بالنسبة إلى تعليق واجهات برمجة التطبيقات الخاصة بإدخال المؤشر، تمت إعادة تسمية HandlePointerInputScope إلى A وهذا الطلب وhandlePointerInput() إلى a تحققPointerEventScope(). (Idf0a1، b/175142755)
- دالة infiniteRepeatable جديدة لإنشاء InfiniteRepeatableSpec (I668e5)
- تمت إزالة التعليق التوضيحي لـ experimentPointerInput (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. تم أيضًا تعديل الفئات ذات الصلة إلى GraphicsLayer وفقًا لملاحظات مجلس واجهة برمجة التطبيقات. (I0bd29، b/173834241)
- تمت إضافة Modifier.scale/rotate واجهات برمجة التطبيقات
كتسهيلات لـ drawLayer.
- تمت إعادة تسمية Modifier.drawOpacity إلى Modifier.alpha
- تمت إعادة تسمية Modifier.drawShadow إلى Modifier.shadow (I264ca، b/173208140)
- تم جعل وقت تشغيل PointerInputData وحقول الموضع غير قابلة للقيم الفارغة. (Id468a)
- تمت إعادة تسمية معدِّلات offsetPx إلى الإزاحة. وهي تأخذ الآن معلَمات lambda بدلاً من "الحالة". (Ic3021، b/173594846)
- واجهات برمجة تطبيقات جديدة لتشغيل الصور المتحركة في الكوروتينات (Ied662)
- تم إيقاف ميزات "وضع عدم النشاط" التي تحمل اسم "
Ambient
" كلاحقة لها، واستبدلتها بسمات جديدة مسبوقة بعبارة "وضع عدم النشاط"، وذلك باتّباع إرشادات أخرى حول عناصر المحيط والكتابة في واجهة برمجة التطبيقات. (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 على هذه الالتزامات.
إصلاح الأخطاء
- تم إيقاف ميزات الأساس EntertainmentTextStyle و<توفير_النص_اللوني_والألوان وبيان اللون المحيطات. وبدلاً من ذلك، يمكنك استخدام الإصدارات الجديدة المتوفّرة في مكتبة Material. بالنسبة إلى التطبيقات غير Material، يجب عليك إنشاء بيئة محيطة محددة لنظام التصميم الخاص بك والتي يمكن استخدامها في المكونات الخاصة بك. (I74acc، b/172067770)
- Foundation.Text تم إيقاف العمل به واستبداله بـmaterial.Text. للحصول على واجهة برمجة تطبيقات خاصة بنص أساسي ولا تستخدم قيمًا من مظهر، يمكنك الاطّلاع على androidx.compose.foundation.BasicText. (If64cb)
- تم نقل MeasurementResult خارج MeasurementScope. (Ibf96d، b/171184002)
- تم نقل العديد من الرموز ذات الصلة بالتنسيق من androidx.compose.ui إلى androidx.compose.caption.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() واستبدالها بـ آمبيانت ContentColor وتوقيت المحيط الهادئ باستياب على التوالي. يمكنك الوصول إلى القيمة الحالية باستخدام
.current
في سمة "وضع عدم النشاط"، كما هو الحال مع أيّ عنصر آخر في "وضع الإضاءة السينمائية". تم إجراء هذا التغيير من أجل الاتساق وتجنب وجود طرق متعددة لإنجاز نفس الشيء. بالإضافة إلى ذلك، تتم إعادة تسمية بعض الخصائص المحيطة لوصف الغرض منها بشكل أفضل على النحو التالي:- ContentColor بيّن -> ألوان نابضة بالحياة
- TextStyle<b> (نمط النص) -> "amtifTextStyle" (نمط النص المحيط)
- المؤشر المحيط -> المؤشر المحيطي
- EmphasisIntus -> amphasisDomains ->
- RippleThemePartner -> EntertainmentRippleTheme (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- Annotated الجذرAnimationClockوصوء الانتقالات وblinkingCursorEnabled وtextInputServicefactory باستخدام @VisualForTesting، وجعلها واجهة برمجة تطبيقات داخلية وإخفاء ملفات kdoc (I554eb، b/168308412)
إصلاح الأخطاء
- تم تحديث العديد من واجهات برمجة التطبيقات للرسومات
- تم تحديث واجهات برمجة التطبيقات للمقياس والتدوير لاستهلاك معلمة الإزاحة واحدة لتمثيل الإحداثي المحوري بدلاً من المعلَمات العائمة المنفصلة للإحداثيات x/y في DrawScope وDrawTransform
- تمت إزالة طريقتي Rect.expandToFrom وRect.join
- تم تحديث وثائق نصف القطر بحيث تشير إلى الشكل البيضاوي بالإضافة إلى جهاز الحركة البيضاوية
- تمت إضافة وثائق للإشارة إلى أن المنشئ العام لفئة نصف القطر المضمَّن لا يتم استدعاءه مباشرةً ولكن يجب إنشاء مثيل لكائنات نصف القطر من خلال الدالة الإنشائية للدوال
- وتمت إزالة واجهات برمجة تطبيقات RoundRect للاستعلام عن topRight وbottomRight وbottomCenter وما إلى ذلك.
- تم إيقاف Rect.shift نهائيًا لصالح Rect.translate
- تمت إزالة واجهات برمجة تطبيقات RoundRect.grow وRect.shrink
- إعادة تسمية RoundRect.outerRect إلى Rect.boundingRect
- تمت إزالة طريقتي RoundRect.midRect/tallMiddleRect/wideMiddleRect وRect.isStadium.
- تمت إعادة تسمية RoundRect.longestSide إلى RoundRect.maxDimension
- تمت إعادة تسمية RoundRect.shortestSide إلى RoundRect.min متصفّح
- تم تغيير RoundRect.center إلى خاصية بدلاً من دالة
- تم تحديث الدالة الإنشائية RoundRect لاستهلاك خصائص نصف القطر بدلاً من المعلمات الفردية لقيم نصف القطر x/y
- تمت إزالة واجهات برمجة التطبيقات للحجم التي افترضت أنها كانت مستطيلة بالمصدر 0,0
- تمت إضافة واجهة برمجة تطبيقات تخريبي إلى نصف القطر.
- تم نقل دوال إضافات RoundRect المختلفة إلى مواقع بدلاً من ذلك
- (I8f5c7، b/168762961)
- تم إيقاف Foundation.Box نهائيًا. يُرجى استخدام Foundation.Layout.Box بدلاً من ذلك. (Ie5950، b/167680279)
- تمت إعادة تسمية الحزمة إلى Box. سيتم إيقاف الإصدار السابق من Box لصالح Box الجديد في compose.foundation.Formatting. يتمثل سلوك Box الجديد في تكديس العناصر الثانوية واحدة فوق الأخرى إذا كان لديها عدة عناصر فرعية - يختلف هذا عن Box السابق، الذي كان يعمل مشابهًا لعمود. (I94893، b/167680279)
- تم إيقاف مَعلمات زخرفة المربّع نهائيًا. إذا أردت إضافة زخارف أو مساحة متروكة في المربّع، استخدِم "معدلات تعديل" بدلاً من ذلك (Modifier.background أو Modifier.border أو Modifier.adding) (Ibae92 وb/167680279)
- لقد منعنا الاستيراد الثابت لمحتويات نطاقات التنسيق (على سبيل المثال، alignWithSiblings في RowScope). يجب استخدام بديل النطاق الصريح بدلاً من ذلك:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be، b/166760797)
الإصدار 1.0.0-alpha03
16 أيلول (سبتمبر) 2020
تم إصدار androidx.compose.animation:animation:1.0.0-alpha03
وandroidx.compose.animation:animation-core:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.
إصلاح الأخطاء
- وتمت إعادة تسمية استخدامات الجاذبية باستمرار للمحاذاة أو المحاذاة في واجهات برمجة تطبيقات التخطيط. (I2421a، b/164077038)
الإصدار 1.0.0-alpha02
2 أيلول (سبتمبر) 2020
تم إصدار androidx.compose.animation:animation:1.0.0-alpha02
وandroidx.compose.animation:animation-core:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
تمت إضافة
ManualFrameClock.hasAwaiters
لمعرفة ما إذا كان هناك أي شيء في انتظار إطار من تلك الساعة، وrunWithManualClock
كبديل لـrunBlocking
عند إجراء الاختبارات التي تحتاج إلى ManualFrameClock،TestUiDispatcher.Main
والذي يتيح الوصول بسهولة إلى أداة إرسال واجهة المستخدم الرئيسية في اختباراتك.مثلاً:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
إصلاح الأخطاء
تم إيقاف onPreCommit الآن وتم إيقاف onCommit الآن.
يعمل onCommit وonActive الآن في إطار مصمِّم الرقصات نفسه الذي يتغيّر فيه التكوين بدلاً من بدء إطار مصمم الرقص التالي. (I70403)
الإصدار 1.0.0-alpha01
26 آب (أغسطس) 2020
تم إصدار androidx.compose.animation:animation:1.0.0-alpha01
وandroidx.compose.animation:animation-core:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.
الإصدار 0.1.0-dev
الإصدار 0.1.0-dev17
19 آب (أغسطس) 2020
تم إصدار androidx.compose.animation:animation:0.1.0-dev17
وandroidx.compose.animation:animation-core:0.1.0-dev17
. يحتوي الإصدار 0.1.0-dev17 على هذه الالتزامات.
الميزات الجديدة
تغييرات واجهة برمجة التطبيقات
- أصبحت الإزاحة فئة مضمّنة (Iaec70)
- IntOffset الآن عبارة عن فئة مضمّنة (Iac0bf)
- أصبحت IntSize الآن فئة مضمّنة (I2bf42).
عند إنشاء صورة متحركة Visibilty، إضافة تأثيرات حركية إلى مظهر المحتوى الخاص بالطفل واختفائه.
تم تقديم كل من Enter Transition و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)
إصلاح الأخطاء
- تم تحديث واجهات برمجة التطبيقات للدعم من اليمين إلى اليسار. تمت إضافة ميزة LayoutDirection الإضافية التي يمكن استخدامها لقراءة اتجاه التنسيق وتغييره. تمت إزالة Modifier.rtl وModifier.ltr. (I080b3)
- طلب تحديد النوع T بشكل صريح لتعريفtransitDefinition. (I1aded)
- Foundation.shape.curer تم دمجه في حزمة Foundation.share (I46491، b/161887429)
- تم إيقاف Modifier.plus نهائيًا، لذا استخدِم Modifier.ثم بدلاً من ذلك. تقدّم علامة "بعد ذلك" إشارة أقوى للطلب، بينما تحظر أيضًا كتابة
Modifier.padding().background() + anotherModifier
، ما يعطّل السلسلة ويصعب قراءتها (Iedd58، b/161529964) - تمت إعادة تسمية Modifier.drawBack إلى 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 إلى الأطفال. هذا يجعل واجهة برمجة التطبيقات أكثر اتساقًا مع واجهات برمجة تطبيقات ananimate(). (I24e38)
- تمت إضافة مَعلمة التعديل للتلاشي المتقاطع (I87cfe، b/159706180).
- استخدِم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى
لتوضيح مفهوم مواصفات الصور المتحركة الثابتة.
- تحسين عملية النقل DSL عن طريق إزالة مطلب lambda لإنشاء مواصفات AnimationSpecs مثل tween وspring. تأخذ بدلاً من ذلك المعلَمات الإنشاءية مباشرةً.
- قم بتحسين سهولة استخدام AnimationSpec بشكلٍ عام عند فتح المنشئات الأخرى بدلاً من الاعتماد على البنّاءات
- يمكنك تغيير المدة والتأخير الخاص بإطارات KeyFrames وTween إلى Int. ويؤدي ذلك إلى التخلص من الأنواع غير الضرورية والتحميل الزائد للطريقة (لدعم كل من طويل وInt). (Ica0b4)
- تم استبدال استخدام IntPx بـ IntPxPosition بدلاً من IntOffset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات المقاسات، عليك توحيد استخدام فئة المقاس بدلاً من PxSize. يوفر هذا مزايا الفئة المضمنة للاستفادة من القيمة الطويلة للحزمة والقيمتين العائمتين لتمثيل العرض والارتفاع ممثلين كعدد عشري. (Ic0191)
- من أجل دمج عدد الفئات المستخدمة لتمثيل معلومات تحديد الموضع، عليك توحيد استخدام فئة Offset بدلاً من PxPosition. يوفر هذا فوائد فئة مضمّنة للاستفادة من قيمة طويلة للحزمة عائمة 2 لتمثيل إزاحة س وص ممثلة كأعداد عشرية. (I3ad98)
- استخدام فئة Px في مختلف فئات الإنشاء كجزء من الجهود الكبيرة لإعادة البناء للاعتماد فقط على الأنواع الأساسية لمعلمات البكسل (I086f4)
- تمت إضافة animate() لـ Dp وPx وSize وPosition وBounds وPxPosition وPxSize وPxBounds وIntPx وIntPxSize وIntPxPosition وIntPxBounds وAnimationVector (Ib7518).
- تقبل ميزة Crossfade الآن مَعلمة AnimationBuilder الاختيارية للسماح بإعداد الصورة المتحركة (I6d6e0).
- تم استبدال جميع استخدامات الألوان القابلة للقيم الفارغة في واجهة برمجة التطبيقات باستخدام قيمة غير قابلة للقيم الفارغة واستخدام Color.Unset بدلاً من null (Iabaa7)
- تمت إزالة فئة ValueHolder. تمت إعادة هيكلة رسوم GIF، وفئات رسوم متحركة،
لجعل حقل قيمة الرسوم المتحركة مجردًا حتى تتمكن الفئات الفرعية من مشاهدة تحديث القيمة.
- تمت إضافة فئات نماذج لـAnimationValue وAnimationFloat وما إلى ذلك.
- تمت إضافة مجموعة جديدة من واجهة برمجة التطبيقات @Composable الخفيفة للتنقل بين القيم. (I79530)
- تغييرات قد تؤدي إلى أعطال في واجهة برمجة تطبيقات Accessibilitys يمكنك الاطّلاع على سجلّ ومستندات
Ambient<T>
لمعرفة التفاصيل (I4c7ee، b/143769776). - وضع التكرار الجديد: العكس. يعكس هذا الوضع التكرار السابق أثناء تكرار الرسم المتحرك في RepeatableSpec أو VectorizedRepeatableSpec. (Ibe0f5)
- إضافات واجهة برمجة التطبيقات إلى ManualAnimationClock:
hasObservers: Boolean
ومَعلمة الدالة الإنشائيةdispatchOnSubscribe: Boolean
(Iaa134) - تمت إضافة واجهات برمجة تطبيقات للحصول على حدود الحد الأدنى/الأقصى في MatterFloat (Icd9cc)
إصلاح الأخطاء
- تمت إعادة تسمية
runOnIdleCompose
إلىrunOnIdle
(I83607) - تمت إعادة تسمية العديد من واجهات برمجة التطبيقات للاختبار لكي تكون أكثر سهولة. تمت إعادة تسمية جميع واجهات برمجة تطبيقات FindXYZ لتصبح onNodeXYZ تمت إعادة تسمية جميع واجهات برمجة تطبيقات doXYZ إلىperformXYZ. (I7f164)
- تم تقديم واجهات برمجة تطبيقات منخفضة المستوى للصور المتحركة بدون حالة. واجهات برمجة التطبيقات هذه (I63bf7)
- لم يعد العنصر القابل لإعادة الإنشاء فكرة عملية تجريدية مفيدة. من المفترض أن تتم معظم عمليات إعادة التركيبة كنتيجة لعمليات تخصيص حالة MutableState. بالنسبة إلى أي شيء بخلاف ذلك، ننصحك باستخدام الدالة
invalidate
لبدء إعادة تركيب النطاق الحالي. (Ifc992) - تم استبدال استخدام فئة Px في فئات إنشاء مختلفة كجزء من الجهود الكبيرة لإعادة البناء للاعتماد فقط على الأنواع الأولية لمعاملات البكسل. تم حذف فئة Px بالكامل (I3ff33).
- استخدام فئة Px في مختلف فئات الإنشاء كجزء من الجهود الكبيرة لإعادة البناء للاعتماد فقط على الأنواع الأساسية لمعلمات البكسل (Id3434)
- يمكن أن تعمل ميزة "التلاشي المتقاطع" الآن مع قيمة أولية فارغة (Iad6a4، b/155947711).
- استخدام فئة Px في مختلف فئات الإنشاء كجزء من الجهود الكبيرة لإعادة البناء للاعتماد فقط على الأنواع الأساسية لمعلمات البكسل (I19d02)
- عمليات تنفيذ CanvasScope موحّدة، لذلك أصبح هناك الآن فقط DrawScope وContentDrawScope تم تغيير اسم CanvasScope إلى DrawScope. تم تحديث DrawScope لتنفيذ واجهة Density وتوفير فئة LayoutDD Deleted DrawScope في ContentDrawScope تم تعديل Painterainter وPainterModifier لعدم صيانته بعد ذلك بخاصية من اليمين إلى اليسار (RTL) لأنّ DrawScope يوفّر ذلك بدون تقديمه يدويًا (I1798e)
- تم تحديث واجهات برمجة التطبيقات ذات المستوى الأعلى التي تعرض "لوحة الرسم" لعرض "CanvasScope" بدلاً من ذلك. فهذا يلغي حاجة المستهلكين إلى الحفاظ على كائنات الطلاء الخاصة بهم. بالنسبة إلى المستهلكين الذين ما زالوا يطلبون الوصول إلى لوحة الرسم، يمكنهم استخدام طريقة الإضافة drawCanvas التي توفّر استدعاءً لإصدار أوامر الرسم باستخدام لوحة الرسم الأساسية. (I80afd)
- تمت إضافة المعاملينvertical Gravity وhorizontalGravity إلى "الصف والعمود" على التوالي. (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 + Layout Align.Center أو باستخدام عنصر مركّب Box أو Stack مع تطبيق معدِّلات مناسبة (Idf5e0).
- تم تغيير اسم التخطيط المرن إلى وزن التخطيط. تمت إعادة تسمية المعلمة الضيقة للتعبئة. (If4738)
- تم استبدال دالة التعتيم القابلة للتغير بمعدِّل تعتيم الرسم البياني. (I5fb62)
- توفّر الاختبارات التي تستخدم AndroidComposeTestRule الآن ساعة متحرّكة في جذر المقطوعة الموسيقية تسمح بإيقافها مؤقتًا واستئنافها وتطويرها يدويًا. (Id54c5)
- إتاحة الاتجاه من اليمين إلى اليسار في أداة تعديل LayoutPadding (I9e8da)
- تم دمج الكثافة ونطاق الكثافة في واجهة واحدة. ويمكنك الآن استخدام DensitySPACE.current بدلاً من إلغاء appdensity() . بدلاً من withDensity(density) (الكثافة) فقط مع(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.dispose نهائيًا. يمكنك استخدام الإجراءdispose
علىComposition
الذي يعرضهsetContent
بدلاً من ذلك. تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto تمت إعادة تسمية ComponentNode#emitInsertAt إلى ComponentNode#insertAt ComponentNode#emitRemoveAt