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

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

  • تصنيف الأدوات متاح في 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 إلا بعد انتهاء تنفيذ جميع استدعاءات الإطار. يتطابق هذا مع سلوك الإنشاء عند التشغيل بشكل طبيعي. ومع ذلك، قد تفشل الاختبارات التي تعتمد على السلوك القديم. من المفترَض أن يؤثر ذلك فقط في الرمز الذي يستدعي 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)

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

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

    (I0a85b، b/161247083)

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

  • تم إيقاف 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