إنشاء صورة متحركة

يمكنك إنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم.
التعديل الأخير الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
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 هذه الالتزامات.

إصلاح الأخطاء

الإصدار 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

  • يتوافق تصنيف الأدوات مع rememberInfiniteTransition وجميع دوال الإضافات على 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)

إصلاح الأخطاء

الإصدار 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 وAGP 7.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")
        }
    }
    

    (I0a85b، b/161247083)

إصلاح الأخطاء

  • تم إيقاف 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 لسد الفجوة بين الساعات الكورروتينية الجديدة وواجهات برمجة التطبيقات التي لا تزال تستخدم الساعات القديمة المستندة إلى معاودة الاتصال.

    ما يعادل MonotonicFrameClockManualAnimationClock الآن: 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