Compose Animation

إنشاء رسوم متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫27 أغسطس 2025 1.9.0 - - 1.10.0-alpha02

البنية

‫Compose هي مجموعة من 7 معرّفات مجموعات Maven ضمن androidx. تحتوي كل مجموعة على مجموعة فرعية مستهدَفة من الوظائف، ولكل منها مجموعة خاصة من ملاحظات الإصدار.

يوضّح هذا الجدول المجموعات ويتضمّن روابط لكل مجموعة من ملاحظات الإصدار.

مجموعةالوصف
compose.animationإنشاء رسوم متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم
compose.compilerتحويل دوال ‎ @Composable وتفعيل عمليات التحسين باستخدام مكوّن إضافي لمترجم Kotlin
compose.foundationيمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع نطاق الأساس لإنشاء عناصر نظام التصميم الخاص بك.
compose.materialيمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design" الجاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في Compose، وهي مصمَّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة في www.material.io.
compose.material3يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design 3"، وهي التطوّر التالي في Material Design. يتضمّن الإصدار 3 من Material تصميمات ومكوّنات محدّثة وميزات تخصيص Material You، مثل الألوان الديناميكية، وهو مصمّم ليكون متوافقًا مع الأسلوب المرئي الجديد وواجهة مستخدم النظام في Android 12.
compose.runtimeالوحدات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي الذي يستهدفه مكوّن Compose الإضافي للمترجم.
compose.uiالمكوّنات الأساسية لواجهة مستخدم Compose اللازمة للتفاعل مع الجهاز، بما في ذلك التصميم والرسم والإدخال

تحديد الاعتماديات

لإضافة اعتمادية على Compose، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

رائع

dependencies {
    implementation "androidx.compose.animation:animation:1.9.0"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.9.0")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.10

الإصدار 1.10.0-alpha02

‫27 أغسطس 2025

تم طرح androidx.compose.animation:animation-*:1.10.0-alpha02. يتضمّن الإصدار 1.10.0-alpha02 هذه التعديلات.

الإصدار 1.10.0-alpha01

‫13 أغسطس 2025

تم طرح androidx.compose.animation:animation-*:1.10.0-alpha01. يتضمّن الإصدار 1.10.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • واجهة برمجة تطبيقات جديدة تتيح تفعيل العناصر المشترَكة وإيقافها ديناميكيًا، كما تتيح احتساب ما إذا كان هناك انتقال حالي لعنصر مشترَك.
  • واجهة برمجة تطبيقات جديدة لإعداد حدود هدف بديلة عند التخلص من العنصر المشترَك المستهدَف أثناء الانتقال
  • واجهة برمجة تطبيقات جديدة للحصول على LayoutCoordinates LookaheadScope (I18dd4، b/409819304، b/395670637)
  • المعدِّل الجديد Modifier.skipToLookaheadPosition في SharedTransitionScope لتثبيت تصميم في الموضع المستهدف أثناء الانتقال المشترك (I88734)

تغييرات واجهة برمجة التطبيقات

  • تم تبسيط renderInSharedTransitionOverlay من خلال إزالة تعبير lambda clipInOverlayDuringTransition لأنّه نادرًا ما يتم استخدامه. تم تقديم طريقة جديدة لإنشاء مثيل من SharedContentConfig. (Id01b2)
  • تمت إضافة مجموعة من الإعدادات التلقائية لعناصر مشتركة وحدود مشتركة وإعدادات renderInSharedTransitionOverlay. يمكن الآن الوصول إلى هذه الإعدادات التلقائية من خلال واجهات برمجة التطبيقات العامة. (Id23cc)
  • تمت إعادة تسمية ScaleToBounds ResizeMode إلى scaleToBounds (I5ac50)

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

  • تغيير الحد الأدنى التلقائي لإصدار SDK من المستوى 21 لواجهة برمجة التطبيقات إلى المستوى 23 (Ibdfca، b/380448311، b/435705964، b/435705223)

الإصدار 1.9

الإصدار 1.9.0

‫13 أغسطس 2025

تم طرح androidx.compose.animation:animation-*:1.9.0. يتضمّن الإصدار 1.9.0 هذه التعديلات.

الإصدار 1.9.0-rc01

‫30 يوليو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-rc01. يتضمّن الإصدار 1.9.0-rc01 هذه التعديلات.

الإصدار 1.9.0-beta03

‫16 يوليو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-beta03. يتضمّن الإصدار 1.9.0-beta03 هذه التعديلات.

الإصدار 1.9.0-beta02

‫2 يوليو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-beta02. يتضمّن الإصدار 1.9.0-beta02 هذه التعديلات.

الإصدار 1.9.0-beta01

‫18 يونيو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-beta01. يتضمّن الإصدار 1.9.0-beta01 هذه التعديلات.

الإصدار 1.9.0-alpha04

‫4 يونيو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-alpha04. يتضمّن الإصدار 1.9.0-alpha04 هذه التعديلات.

الإصدار 1.9.0-alpha03

‫20 مايو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-alpha03. يتضمّن الإصدار 1.9.0-alpha03 هذه التعديلات.

الإصدار 1.9.0-alpha02

‫7 مايو 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-alpha02. يتضمّن الإصدار 1.9.0-alpha02 هذه التعديلات.

الميزات الجديدة

  • تحسين كبير في إمكانية التمرير أو السحب في العناصر المشترَكة وبشكل أكثر تحديدًا، عند تمرير عنصر مشترك في مرحلة الانتقال، سيتم تطبيق الفرق في التمرير مباشرةً على العنصر المشترك بدلاً من جعل العناصر المشتركة تتبع الهدف الجديد. (cacf7b)

الإصدار 1.9.0-alpha01

‫23 أبريل 2025

تم طرح androidx.compose.animation:animation-*:1.9.0-alpha01. يتضمّن الإصدار 1.9.0-alpha01 هذه التعديلات.

التغييرات في السلوك

  • تتطلّب عمليات التحقّق من Lint التي يتم شحنها مع Compose الآن توفُّر الإصدار 8.2.2 من "مكوّن Android الإضافي في Gradle" كحد أدنى. إذا لم تتمكّن من ترقية "مكوّن Android الإضافي لبرنامج Gradle"، يمكنك بدلاً من ذلك ترقية Lint بشكلٍ منفصل باستخدام android.experimental.lint.version=8.8.2 (أو إصدار أحدث) في gradle.properties. لتشغيل عمليات التحقّق من أخطاء Compose البرمجية داخل بيئة التطوير المتكاملة، يجب استخدام Android Studio Ladybug أو إصدار أحدث.

الميزات الجديدة

  • تحسين أداء التنقّل في العناصر المشترَكة (ea4f1f)

تغييرات واجهة برمجة التطبيقات

  • تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP. (Idb6b5)
  • تم إيقاف TabRow وScrollableTabRow نهائيًا واستبدالهما بالمتغيرَين الأساسي والثانوي لكل منهما. أصبحت صفوف علامات التبويب الأساسية والثانوية أكثر فعالية ودقةً وفقًا للمواصفات. (I918e2)
  • تمت إضافة LocalResources composition local للاستعلام عن الموارد. ستتم إعادة إنشاء LocalResources.current عند تغيُّر الإعدادات، لذا ستعرض طلبات البيانات من واجهات برمجة التطبيقات، مثل stringResource()، قيمًا معدَّلة (I50c13، b/274786917).

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

  • التأكّد من إزالة العناصر المشترَكة من التراكب عند انتهاء الانتقال (35f359)
  • إزالة إعادة التركيب الإضافية في Transition (988923)
  • إصلاح معالجة انقطاع الانتقال بين الأطفال (8aed52)
  • التأكّد من إعادة ضبط الانتقال عند توفير TransitionState جديد (57820a)

المساهمة الخارجية

  • من إنشاء 1.8.1: إنهاء الصور المتحركة في SeekableTransitionState إذا تجاوزت المدة الجديدة التي حدّدها Steven Schoen. (0c832c)

الإصدار 1.8

الإصدار 1.8.3

‫18 يونيو 2025

تم طرح androidx.compose.animation:animation-*:1.8.3. يتضمّن الإصدار 1.8.3 هذه التعديلات.

الإصدار 1.8.2

‫20 مايو 2025

تم طرح androidx.compose.animation:animation-*:1.8.2. يتضمّن الإصدار 1.8.2 هذه التعديلات.

الإصدار 1.8.1

‫7 مايو 2025

تم طرح androidx.compose.animation:animation-*:1.8.1. يتضمّن الإصدار 1.8.1 هذه التعديلات.

المساهمة الخارجية

  • إنهاء الصور المتحركة في SeekableTransitionState إذا كانت المدة الجديدة قد انقضت شكرًا "ستيفن شون"! (fbcdf7)

الإصدار 1.8.0

‫23 أبريل 2025

تم طرح androidx.compose.animation:animation-*:1.8.0. يتضمّن الإصدار 1.8.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.7.0

  • يمكنك الاطّلاع على التغييرات المهمة في الإصدار 1.8.0 في مشاركة المدونة هذه.
  • واجهة برمجة تطبيقات Modifier.animateBounds جديدة لتحريك تغييرات الحجم والموضع ضمن نطاق البحث المسبق (94b939)
  • واجهات برمجة التطبيقات النهائية لإطارات المفاتيح مع الأقواس والمنحنيات (89e119)
  • تفعيل ميزة "البحث الاستباقي" في LazyGrid وPager ويشمل ذلك التمييز بين تمرير التوقّع وتمرير الاقتراب في التمرير السريع، وتكوين العناصر/التخلّص منها، وتحريك العناصر، واستخدام تمرير التوقّع كمصدر موثوق للتمرير السريع، واستهداف تحريك العناصر.
  • تم تعديل تسمية المَعلمة sharedElement من "الحالة" إلى sharedContentState لتحقيق الاتساق في جميع واجهات برمجة التطبيقات للعناصر المشترَكة. (9e7df5)
  • أصبحت مجموعة واجهات برمجة التطبيقات AnimatedImageVector مستقرة الآن.(69d7e0)

الإصدار 1.8.0-rc03

‫9 أبريل 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-rc03. يتضمّن الإصدار 1.8.0-rc03 هذه التعديلات.

الإصدار 1.8.0-rc02

‫26 مارس 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-rc02. يتضمّن الإصدار 1.8.0-rc02 هذه التعديلات.

الإصدار 1.8.0-rc01

‫12 مارس 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-rc01. يتضمّن الإصدار 1.8.0-rc01 هذه التعديلات.

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

  • تم إصلاح مشكلة وضع علامة "مقاطعة" بشكل غير صحيح على عملية الانتقال الثابتة للعنصر الفرعي. (3fa2ce)

الإصدار 1.8.0-beta03

‫26 فبراير 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-beta03. يتضمّن الإصدار 1.8.0-beta03 هذه التعديلات.

الإصدار 1.8.0-beta02

‫12 فبراير 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-beta02. يتضمّن الإصدار 1.8.0-beta02 هذه التعديلات.

الإصدار 1.8.0-beta01

‫29 يناير 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-beta01. يتضمّن الإصدار 1.8.0-beta01 هذه التعديلات.

الإصدار 1.8.0-alpha08

‫15 يناير 2025

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha08. يتضمّن الإصدار 1.8.0-alpha08 هذه التعديلات.

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

  • تم إصلاح الرسوم المتحركة غير الصحيحة الخاصة بموضع الإعلان من animateBounds في LazyGrid بسبب إعادة ضبط MotionFrameOfReferencePlacement. (16193b)
  • تم إصلاح الاستعلام الجوهري في SharedTransitionLayout من خلال إعادة توجيه الاستعلام الجوهري إلى عملية البحث المسبق من جذر البحث المسبق ذي المستوى الأعلى. (a07d12)
  • تمّت إضافة علامات @param الناقصة في المستندات. (e5cf67)

الإصدار 1.8.0-alpha07

‫11 ديسمبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha07. يتضمّن الإصدار 1.8.0-alpha07 هذه التعديلات.

الميزات الجديدة

  • تتيح هذه السمة إمكانية التصفّح المسبق في Pager، وذلك من خلال التمييز بين عملية التصفّح المسبق وعملية التصفّح العادي للاحتفاظ بالعناصر واستخدام التمرير. (b/371802474)

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

  • تم إصلاح عُطل نادر يحدث عندما يتم إنشاء عنصر مشترك ولكن لا يتم قياسه أو وضعه أبدًا، وذلك من خلال اشتراط عرض العنصر المشترك في مكانه مرة واحدة على الأقل قبل عرضه في التراكب. (b/371802474)

الإصدار 1.8.0-alpha06

‫13 نوفمبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha06. يتضمّن الإصدار 1.8.0-alpha06 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل تسمية المَعلمة sharedElement من state إلى sharedContentState لتحقيق الاتساق في جميع واجهات برمجة التطبيقات للعناصر المشترَكة. (I5694c، b/375351468)
  • أصبحت مجموعة واجهات برمجة التطبيقات AnimatedImageVector ثابتة الآن. (I7174b، b/261436267)

الإصدار 1.8.0-alpha05

‫30 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha05. يتضمّن الإصدار 1.8.0-alpha05 هذه التعديلات.

الميزات الجديدة

  • أصبحت ميزة "التحليل المسبق" متاحة الآن باللغة LazyGrid. ويشمل ذلك التمييز بين تمرير التوقّع وتمرير الاقتراب في التمرير السريع، وتكوين العناصر/التخلّص منها، وتحريك العناصر، واستخدام تمرير التوقّع كمصدر موثوق للتمرير السريع، واستهداف تحريك العناصر.

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

  • تعديل الحالات الداخلية لتحويل حجم AnimatedContent عند إعادة إنشاء الانتقال ويضمن ذلك أن تكون معلومات الحجم المستهدف محدَّثة دائمًا. (b/372512085)

الإصدار 1.8.0-alpha04

‫16 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha04. يتضمّن الإصدار 1.8.0-alpha04 هذه التعديلات.

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

  • تم إصلاح خطأ يتسبّب في تعطُّل بعض منحنيات التباطؤ والتسارع عند أجزاء زمنية معيّنة.
  • تم إصلاح الخلل الذي كان يتسبب في محاذاة غير سليمة لـ Modifier.animateContentSize في اللغات التي تُكتب من اليمين إلى اليسار. (Idae6b، b/372055503)

الإصدار 1.8.0-alpha03

‫2 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha03. يتضمّن الإصدار 1.8.0-alpha03 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تحديث إصدار Kotlin إلى 1.9 (I1a14c)

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

  • تم إصلاح مشكلة في الرسوم المتحركة الخاصة بحجم AnimatedContent من خلال تتبُّع الرسوم المتحركة وبدئها دائمًا من الحجم الحالي لضمان استمرارها.

الإصدار 1.8.0-alpha02

‫18 سبتمبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha02. يتضمّن الإصدار 1.8.0-alpha02 هذه التعديلات.

الإصدار 1.8.0-alpha01

‫4 سبتمبر 2024

تم طرح androidx.compose.animation:animation-*:1.8.0-alpha01. يتضمّن الإصدار 1.8.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • واجهة برمجة تطبيقات Modifier.animateBounds جديدة لتحريك تغييرات الحجم والموضع ضمن نطاق البحث المسبق 94b9394

تغييرات واجهة برمجة التطبيقات

  • إزالة العلامات التجريبية من "الإطارات الرئيسية" التي تتضمّن "أقواسًا ومنحنيات" (89e1199)

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

  • تخطّي منطق placeHolderSize عند عدم العثور على تطابق (77c0160)
  • فرض حد أقصى لمدة التشغيل في AndroidFlingSpline لمنع حدوث أعطال بسبب عدم زيادة مدة التشغيل بشكل رتيب(9d47587)
  • إصلاح مشكلة عدم رسم SharedTransitionScope للعناصر في ظروف معيّنة (b41077b6)

المساهمة الخارجية

  • منع ضبط انتقال قابل للبحث playTime عندما لا يكون هناك انتقال قيد التشغيل من قِبل Steven Schoen (c2e6e7e6)

الإصدار 1.7

الإصدار 1.7.8

‫12 فبراير 2025

تم طرح androidx.compose.animation:animation-*:1.7.8. يتضمّن الإصدار 1.7.8 هذه التعديلات.

الإصدار 1.7.7

‫29 يناير 2025

تم طرح androidx.compose.animation:animation-*:1.7.7. ما مِن تغييرات مقارنةً بالإصدار 1.7.6. ‫11 ديسمبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.6. يتضمّن الإصدار 1.7.6 هذه التعديلات.

الإصدار 1.7.5

‫30 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.5. يتضمّن الإصدار 1.7.5 هذه التعديلات.

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

  • تم إصلاح الخلل الذي كان يتسبب في محاذاة غير سليمة لـ Modifier.animateContentSize في اللغات التي تُكتب من اليمين إلى اليسار. (Idae6b، b/372055503)

الإصدار 1.7.4

‫16 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.4. يتضمّن الإصدار 1.7.4 هذه التعديلات.

الإصدار 1.7.3

‫2 أكتوبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.3. يتضمّن الإصدار 1.7.3 هذه التعديلات.

الإصدار 1.7.2

‫18 سبتمبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.2. يتضمّن الإصدار 1.7.2 هذه التعديلات.

المساهمة الخارجية

  • منع ضبط عملية الانتقال القابلة للبحث playTime عندما لا تكون هناك عملية انتقال قيد التنفيذ شكرًا "ستيفن شون"! (c2e6e7e6)

الإصدار 1.7.1

‫10 سبتمبر 2024

  • لم يتم إجراء أي تغييرات على عناصر Android. تمت إزالة -desktop من العناصر وإضافة -jvmStubs و-linuxx64Stubs من العناصر. لا يُفترض استخدام أي من هذه الأهداف، بل هي عناصر نائبة للمساعدة في جهود Jetbrains Compose.

الإصدار 1.7.0

‫4 سبتمبر 2024

تم طرح androidx.compose.animation:animation-*:1.7.0.

التغييرات المهمة منذ الإصدار 1.6.0

يمكنك الاطّلاع على التغييرات المهمة في الإصدار 1.7.0 في مشاركة المدونة هذه.

واجهات برمجة تطبيقات جديدة لنقل العناصر المشترَكة

  • تنتظرك واجهات برمجة تطبيقات جديدة لنقل العناصر المشترَكة لتجربتها وإبداء ملاحظاتك بشأنها. تتيح واجهات برمجة التطبيقات التجريبية الجديدة هذه إمكانية وضع علامات على التصاميم باعتبارها مشترَكة في جميع شجرة التصميم باستخدام المعدِّلات المتوفّرة، ما يؤدي إلى تغيير الحدود بسلاسة عند خروج مجموعة من المحتوى المشترَك ودخول المجموعة الأخرى. (Icb0b9)
  • scaleInSharedContentToBounds وscaleOutSharedContentToBounds جديدان لتوسيع نطاق المحتوى في sharedBounds (I731c1)
  • أصبحت SharedTransitionScope التجريبية الآن واجهة بدلاً من فئة. (Iaf856)
  • resizeModes جديد (ScaleToBounds وRemeasureToBounds) في sharedBounds للاختيار بين تغيير الحجم وإعادة القياس تم الآن إيقاف واجهات برمجة التطبيقات السابقة scaleIn/OutSharedContentToBounds نهائيًا. (I0d41a)

تحسينات على واجهات برمجة التطبيقات الحالية:

  • Modifier.animateContentSize جديد يأخذ مَعلمة إضافية لمحاذاة المحتوى المخصّص. (I5623a، b/269803907)
  • DeferredTargetAnimation تجريبية جديدة لتحريك الحجم أو الموضع أو أي هدف آخر غير معروف أثناء إنشاء مثيل (I60745)
  • يستبدل SeekableTransitionState snapTo() بـ seekTo()، ويضيف snapTo() يغيّر الحالة فورًا إلى حالة الوجهة بدون أي نوع من الرسوم المتحركة.
  • يمكنك الآن تمرير قيمة periodicBias (عدد عشري) إلى keyframesWithSpline، ما سيؤدي إلى تساوي السرعة الأولية والنهائية للخط المنحني. مفيدة للرسوم المتحركة المتكررة باستخدام خطوط الانحناء. يشير الانحياز إلى مقدار تعديل كل سرعة (الأولية والنهائية) لتحقيق الدورية. (Ic1e6c، b/292114811)

أصبحت واجهات برمجة التطبيقات التالية ثابتة أو تمت إزالتها:

  • أصبحت واجهة برمجة التطبيقات AnimatedVisibilityScope.transition واجهة ثابتة. تم أيضًا تحسين ثبات Modifier.animateEnterExit(..). (I6c1d1)
  • أصبحت الرموز ApproachLayoutModifierNode وModifier.approachLayout ثابتة الآن، مع توفّر الرمزين الجديدين isMeasurementApproachInProgress() وisPlacementApproachInProgress() ليحلا محل الرمزين القديمين isMeasurementApproachComplete() وisPlacementApproachComplete() على التوالي.
  • تمت إزالة المعدِّل intermediateLayout المتوقّف نهائيًا. (I3e91c)
  • تمت إتاحة واجهات برمجة التطبيقات LookaheadScope بشكل ثابت. (I21507)

الإصدار 1.7.0-rc01

‫21 أغسطس 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-rc01. يتضمّن الإصدار 1.7.0-rc01 هذه التعديلات.

الإصدار 1.7.0-beta07

‫7 أغسطس 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta07. يتضمّن الإصدار 1.7.0-beta07 هذه التعديلات.

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

  • تم إصلاح مشكلة عدم رسم عناصر التراكب أثناء الانتقال في حالات معيّنة، والتي تشمل عادةً الاستخدام مع Navigation.SharedTransitionScope (Id65ab، b/347520198)

الإصدار 1.7.0-beta06

‫24 يوليو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta06. يتضمّن الإصدار 1.7.0-beta06 هذه التعديلات.

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

  • تم إصلاح مشكلة تسريب حالات الانتقال في SeekableTransition من خلال تنظيف الملاحظات بشكل صحيح من SnapshotStateObserver عند التخلص من الانتقال. (b9c7182)
  • تم إصلاح حالات حدودية لا يتم فيها وضع علامة "مكتمل" بشكل صحيح على عمليات الانتقال الفرعية عند اكتمال عملية الانتقال الرئيسية. (dc42216)

الإصدار 1.7.0-beta05

‫10 يوليو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta05. يتضمّن الإصدار 1.7.0-beta05 هذه التعديلات.

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

  • يمكن الآن قراءة السمة Transition totalDurationNanos بشكل صحيح ضمن snapshotFlow.

الإصدار 1.7.0-beta04

‫26 يونيو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta04. يتضمّن الإصدار 1.7.0-beta04 هذه التعديلات.

الإصدار 1.7.0-beta03

‫12 يونيو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta03. يتضمّن الإصدار 1.7.0-beta03 هذه التعديلات.

الإصدار 1.7.0-beta02

‫29 مايو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta02. يتضمّن الإصدار 1.7.0-beta02 هذه التعديلات.

الإصدار 1.7.0-beta01

‫14 مايو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-beta01. يتضمّن الإصدار 1.7.0-beta01 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • resizeModes جديد (ScaleToBounds وRemeasureToBounds) في sharedBounds للاختيار بين تغيير الحجم وإعادة القياس تم الآن إيقاف واجهات برمجة التطبيقات السابقة scaleIn/OutSharedContentToBounds نهائيًا. (I0d41a)

المساهمة الخارجية

  • أصبحت SharedTransitionScope التجريبية الآن واجهة بدلاً من فئة، وذلك من إعداد Steven Schoen. (Iaf856، b/338415048، b/338414702)

الإصدار 1.7.0-alpha08

‫1 مايو 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha08. يتضمّن الإصدار 1.7.0-alpha08 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إتاحة واجهات برمجة التطبيقات LookaheadScope بشكل ثابت. (I21507)

المساهمة الخارجية

  • إزالة وقت بدء الصورة المتحركة بعد تحرّك/انطباق SeekableTransitionState بواسطة Steven Schoen (1ca89529)

الإصدار 1.7.0-alpha07

‫17 أبريل 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha07. يتضمّن الإصدار 1.7.0-alpha07 هذه التعديلات.

الميزات الجديدة

  • تنتظرك واجهات برمجة تطبيقات جديدة لنقل العناصر المشترَكة لتجربتها وإبداء ملاحظاتك بشأنها. تتيح واجهات برمجة التطبيقات التجريبية الجديدة هذه إمكانية وضع علامات على التصاميم باعتبارها مشترَكة في جميع شجرة التصميم باستخدام المعدِّلات المتوفّرة، ما يؤدي إلى تغيير الحدود بسلاسة عند خروج مجموعة من المحتوى المشترَك ودخول المجموعة الأخرى. (Icb0b9)
  • scaleInSharedContentToBounds وscaleOutSharedContentToBounds جديدان لتوسيع نطاق المحتوى في sharedBounds (I731c1)

تغييرات واجهة برمجة التطبيقات

  • أصبحت واجهة برمجة التطبيقات AnimatedVisibilityScope.transition واجهة ثابتة. تم أيضًا تحسين ثبات Modifier.animateEnterExit(..). (I6c1d1)
  • أصبحت الرموز ApproachLayoutModifierNode وModifier.approachLayout ثابتة الآن، مع توفّر الرمزين الجديدين isMeasurementApproachInProgress() وisPlacementApproachInProgress() ليحلا محل الرمزين القديمين isMeasurementApproachComplete() وisPlacementApproachComplete() على التوالي.
  • تمت إزالة المعدِّل intermediateLayout المتوقّف نهائيًا. (I3e91c)
  • يمكنك الآن تمرير قيمة periodicBias (عدد عشري) إلى keyframesWithSpline، ما سيؤدي إلى تساوي السرعة الأولية والنهائية للخط المنحني. مفيدة للرسوم المتحركة المتكررة باستخدام خطوط الانحناء. يشير الانحياز إلى مقدار تعديل كل سرعة (الأولية والنهائية) لتحقيق الدورية. (Ic1e6c، b/292114811)

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

  • تم إصلاح مشكلة تجاوز حدود منحنيات التباطؤ والتسارع التي كانت تُحصر سابقًا بين 0 و1 (I38747)

الإصدار 1.7.0-alpha06

‫3 أبريل 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha06. يتضمّن الإصدار 1.7.0-alpha06 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة إمكانية استخدام صور متحركة لظهور العناصر واختفائها في LazyColumn وLazyRow. في السابق، كان من الممكن إضافة المعدِّل Modifier.animateItemPlacement() من أجل إتاحة الرسوم المتحركة الخاصة بموضع الإعلان (إعادة الترتيب). أوقفنا نهائيًا استخدام أداة التعديل هذه وقدّمنا أداة تعديل جديدة غير تجريبية باسم Modifier.animateItem() تتيح لك إتاحة جميع أنواع الرسوم المتحركة الثلاثة: الظهور (التلاشي)، والاختفاء (التلاشي)، وإعادة الترتيب. (I2d7f7 وb/330152398 وb/150812265)

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

  • تحسين أداء واجهة برمجة التطبيقات updateTransition

الإصدار 1.7.0-alpha05

‫20 مارس 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha05. يتضمّن الإصدار 1.7.0-alpha05 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • يستبدل SeekableTransitionState snapTo() بـ seekTo()، ويضيف snapTo() يغيّر الحالة فورًا إلى حالة الوجهة بدون أي نوع من الرسوم المتحركة.

الإصدار 1.7.0-alpha04

‫6 مارس 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha04. يتضمّن الإصدار 1.7.0-alpha04 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • واجهة برمجة التطبيقات الجديدة Path.reverse() لعكس اتجاه المسار (I36348)

الإصدار 1.7.0-alpha03

‫21 فبراير 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha03. يتضمّن الإصدار 1.7.0-alpha03 هذه التعديلات.

الميزات الجديدة

  • Modifier.animateContentSize جديد يأخذ مَعلمة إضافية لمحاذاة المحتوى المخصّص. (I5623a، b/269803907)
  • DeferredTargetAnimation تجريبية جديدة لتحريك الحجم أو الموضع أو أي هدف آخر غير معروف أثناء إنشاء مثيل (I60745)

الإصدار 1.7.0-alpha02

‫7 فبراير 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha02. يتضمّن الإصدار 1.7.0-alpha02 هذه التعديلات.

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

  • إصلاح مشكلة التوافق مع KeyframesSpec (I2bdf3، b/322214617)
  • تم إصلاح مشكلة عدم إعادة ضبط Modifier.animateContentSize بشكلٍ صحيح عند استخدامه في LazyList. (I070512، b/322525716)
  • تم إصلاح الخطأ IllegalStateException في KeyframesSpec عند استخدام طوابع زمنية خارج النطاق. (I341b8، b/322839811)

الإصدار 1.7.0-alpha01

‫24 يناير 2024

تم طرح androidx.compose.animation:animation-*:1.7.0-alpha01. يتضمّن الإصدار 1.7.0-alpha01 هذه التعديلات.

الإصدار 1.6

الإصدار 1.6.8

‫12 يونيو 2024

تم طرح androidx.compose.animation:animation-*:1.6.8. يتضمّن الإصدار 1.6.8 هذه التعديلات.

الإصدار 1.6.7

‫1 مايو 2024

تم طرح androidx.compose.animation:animation-*:1.6.7. يتضمّن الإصدار 1.6.7 هذه التعديلات.

الإصدار 1.6.6

‫17 أبريل 2024

تم طرح androidx.compose.animation:animation-*:1.6.6. لم يتم إجراء أي تغييرات منذ الإصدار السابق

الإصدار 1.6.5

‫3 أبريل 2024

تم طرح androidx.compose.animation:animation-*:1.6.5. يتضمّن الإصدار 1.6.5 هذه التعديلات.

الإصدار 1.6.4

‫20 مارس 2024

تم طرح androidx.compose.animation:animation-*:1.6.4. يتضمّن الإصدار 1.6.4 هذه التعديلات.

الإصدار 1.6.3

‫6 مارس 2024

تم طرح androidx.compose.animation:animation-*:1.6.3. يتضمّن الإصدار 1.6.3 هذه التعديلات.

الإصدار 1.6.2

‫21 فبراير 2024

تم طرح androidx.compose.animation:animation-*:1.6.2. يتضمّن الإصدار 1.6.2 هذه التعديلات.

الإصدار 1.6.1

‫7 فبراير 2024

تم طرح androidx.compose.animation:animation-*:1.6.1. يتضمّن الإصدار 1.6.1 هذه التعديلات.

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

الإصدار 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)
  • نفِّذ الدالتَين equals وhashcode للسمة PageSize.Fixed. (Ie3ede، b/300134276)
  • تم إصلاح مشكلة توافق الرمز الثنائي مع تغيير Window Inset. (Iee695)
  • إزالة الطبقة الأساسية للمادة من أجل Material3 Chip/Button لأنّ اختبارات الأداء الدقيقة تُظهر أداءً أفضل بدونها. (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 Composable Fun ثابتة الآن. (Ifb2ce)

الإصدار 1.6.0-alpha02

‫26 يوليو 2023

تم طرح androidx.compose.animation:animation-*:1.6.0-alpha02. يتضمّن الإصدار 1.6.0-alpha02 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • ExitTransition.Hold جديد لعرض المحتوى الصادر في AnimatedContent إلى أن تنتهي كلتا عمليتَي الانتقال للدخول والخروج (I5984f)
  • تعليقات توضيحية إضافية لتحديد المدخلات المسموح بها للعناصر القابلة للإنشاء (I51109)

الإصدار 1.6.0-alpha01

‫21 حزيران (يونيو) 2023

تم طرح androidx.compose.animation:animation-*:1.6.0-alpha01. يتضمّن الإصدار 1.6.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • فعِّل Modifier.animateContentSize وAnimatedVisibility لدمجهما بالكامل في نظام التوقّع المسبق من خلال إعداد حجم الهدف في عملية التوقّع المسبق.

تغييرات واجهة برمجة التطبيقات

  • خاصية جديدة في IntrinsincMeasureScope وعمليات تنفيذها (مثل MeasureScope) للإشارة إلى ما إذا كانت عملية القياس الحالية هي عملية بحث مسبق. (I7a812)

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

  • تمت إزالة عمليات التخصيص من الصور المتحركة النابضة. (Ie9431)
  • تم تغيير اسم مَعلمة القيمة في Enum.valueOf (Ia9b89)
  • المزيد من الاستثناءات التي تم طرحها من enum valueOf (I818fe)

الإصدار 1.5

الإصدار 1.5.4

‫18 أكتوبر 2023

تم طرح androidx.compose.animation:animation-*:1.5.4. يتضمّن الإصدار 1.5.4 هذه التعديلات.

الإصدار 1.5.3

‫4 أكتوبر 2023

تم طرح androidx.compose.animation:animation-*:1.5.3. لا يتضمّن هذا الإصدار أي تغييرات

الإصدار 1.5.2

‫27 سبتمبر 2023

تم طرح androidx.compose.animation:animation-*:1.5.2. يتضمّن الإصدار 1.5.2 هذه التعديلات.

الإصدار 1.5.1

‫6 سبتمبر 2023

تم طرح androidx.compose.foundation:foundation-*:1.5.1. يتضمّن الإصدار 1.5.1 هذه التعديلات.

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

  • تم إصلاح مشكلة الحقول النصية التي تعرض لوحة المفاتيح ويمكن تعديلها عندما تكون قيمة readOnly هي "صحيح". تم أيضًا إصلاح مشكلة عدم ظهور لوحة المفاتيح عند تغيير قيمة readOnly من "صحيح" إلى "خطأ" أثناء التركيز. (I34a19، b/246909589)

الإصدار 1.5.1

‫6 سبتمبر 2023

تم طرح androidx.compose.animation:animation-*:1.5.1. يتضمّن الإصدار 1.5.1 هذه التعديلات.

الإصدار 1.5.0

‫9 أغسطس 2023

تم طرح androidx.compose.animation:animation-*:1.5.0. يتضمّن الإصدار 1.5.0 هذه التعديلات.

الإصدار 1.5.0-rc01

‫26 يوليو 2023

تم طرح androidx.compose.animation:animation-*:1.5.0-rc01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.

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

  • تم إصلاح المشكلة التي كانت تؤدي إلى ظهور تحذير lint مع إصلاح غير صالح عند استدعاء .value على نوع حالة أساسي (مثل MutableIntState). ستقترح عملية الفحص الآن نقل البيانات إلى الموقع الصحيح. (Iba953، b/287279257)

  • يتوفّر فحص اختياري لاقتراح نقل استدعاءات mutableStateOf() إلى أنواعها المتخصّصة المقابلة للعناصر الأساسية. رقم تعريف أداة Lint هو AutoboxingStateCreation. في السابق، كان يتم تفعيل عملية الفحص هذه تلقائيًا لجميع المشاريع. لعرض هذا التحذير في محرّر Android Studio وفي نواتج Lint لمشروعك، غيِّر مستوى خطورته من "معلومات" إلى "تحذير" (أو أعلى) من خلال تعريف 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 fun باستخدام 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 APIs are now stable 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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • في اختبارات واجهة المستخدم التي تستخدم قاعدة Compose، لن يتم إرسال عمليات الاستئناف التي تم استئنافها أثناء عمليات معاودة الاتصال 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 هذه التعديلات.

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

  • إصلاح صورة متحركة غير صحيحة للمقاطعة في AnimatedContent (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 هذه التعديلات.

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

  • تم التعديل ليتوافق مع الإصدار 1.3.2 من androidx.compose.ui

الإصدار 1.3.1

‫9 نوفمبر 2022

تم إصدار androidx.compose.animation:animation:1.3.1 وandroidx.compose.animation:animation-core:1.3.1 وandroidx.compose.animation:animation-graphics:1.3.1. يتضمّن الإصدار 1.3.1 هذه التعديلات.

الإصدار 1.3.0

‫24 أكتوبر 2022

تم إصدار androidx.compose.animation:animation:1.3.0 وandroidx.compose.animation:animation-core:1.3.0 وandroidx.compose.animation:animation-graphics:1.3.0. يتضمّن الإصدار 1.3.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.2.0

  • إتاحة مجموعة جديدة من دوال التباطؤ والتسارع

الإصدار 1.3.0-rc01

‫5 أكتوبر 2022

تم إصدار androidx.compose.animation:animation:1.3.0-rc01 وandroidx.compose.animation:animation-core:1.3.0-rc01 وandroidx.compose.animation:animation-graphics:1.3.0-rc01. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.

الإصدار 1.3.0-beta03

‫21 سبتمبر 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta03 وandroidx.compose.animation:animation-core:1.3.0-beta03 وandroidx.compose.animation:animation-graphics:1.3.0-beta03. يتضمّن الإصدار 1.3.0-beta03 هذه التعديلات.

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.3.0-beta02.

الإصدار 1.3.0-beta02

‫7 أيلول (سبتمبر) 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta02 وandroidx.compose.animation:animation-core:1.3.0-beta02 وandroidx.compose.animation:animation-graphics:1.3.0-beta02. يتضمّن الإصدار 1.3.0-beta02 هذه التعديلات.

  • تمت إزالة Kotlin.experimental من خيارات المحول البرمجي لأنّه متوقف نهائيًا

الإصدار 1.3.0-beta01

‫24 أغسطس 2022

تم إصدار androidx.compose.animation:animation:1.3.0-beta01 وandroidx.compose.animation:animation-core:1.3.0-beta01 وandroidx.compose.animation:animation-graphics:1.3.0-beta01. يتضمّن الإصدار 1.3.0-beta01 هذه التعديلات.

الإصدار 1.3.0-alpha03

‫10 أغسطس 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha03 وandroidx.compose.animation:animation-core:1.3.0-alpha03 وandroidx.compose.animation:animation-graphics:1.3.0-alpha03. يتضمّن الإصدار 1.3.0-alpha03 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • معلَمة جديدة في Crossfade وanimateAsState وAnimatable لتصنيف الأدوات (Iac08a)
  • تمت إضافة الدالة atFraction لتحديد الإطارات الرئيسية بجزء من الثانية بدلاً من مدة محددة. (I20c76، b/232059455)

الإصدار 1.3.0-alpha02

‫27 يوليو 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha02 وandroidx.compose.animation:animation-core:1.3.0-alpha02 وandroidx.compose.animation:animation-graphics:1.3.0-alpha02. يتضمّن الإصدار 1.3.0-alpha02 هذه التعديلات.

الإصدار 1.3.0-alpha01

‫29 يونيو 2022

تم إصدار androidx.compose.animation:animation:1.3.0-alpha01 وandroidx.compose.animation:animation-core:1.3.0-alpha01 وandroidx.compose.animation:animation-graphics:1.3.0-alpha01. يتضمّن الإصدار 1.3.0-alpha01 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • LookaheadLayout جديد يتيح إجراء تمريرة بحث مسبق قبل القياس أو التخطيط الفعلي. يسمح ذلك بإجراء عملية حسابية مسبقة للتنسيق عند تغييره، مع السماح للمقياس/التنسيق بعد البحث المسبق باستخدام الحجم/الموضع المحسوب مسبقًا لتحريك الحجم والمواضع نحو الهدف. لا تتوفّر SubcomposeLayouts بعد، ولكن ستتوفّر في إصدار قادم. (I477f5)

الإصدار 1.2

الإصدار 1.2.1

‫10 أغسطس 2022

تم إصدار androidx.compose.animation:animation:1.2.1 وandroidx.compose.animation:animation-core:1.2.1 وandroidx.compose.animation:animation-graphics:1.2.1. يتضمّن الإصدار 1.2.1 هذه التعديلات.

الإصدار 1.2.0

‫27 يوليو 2022

تم إصدار androidx.compose.animation:animation:1.2.0 وandroidx.compose.animation:animation-core:1.2.0 وandroidx.compose.animation:animation-graphics:1.2.0. يتضمّن الإصدار 1.2.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.1.0

  • تتيح ميزة "إنشاء صورة متحركة" الآن إعداد "طول مدة الرسوم المتحركة" من "خيارات المطوّرين".
  • مجموعة كبيرة من منحنيات التباطؤ والتسارع التجريبية الجديدة
  • يتوافق AnimatedImageVector الآن مع repeatCount وrepeatMode

الإصدار 1.2.0-rc03

‫29 يونيو 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc03 وandroidx.compose.animation:animation-core:1.2.0-rc03 وandroidx.compose.animation:animation-graphics:1.2.0-rc03. يتضمّن الإصدار 1.2.0-rc03 هذه التعديلات.

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.2.0-rc02.

الإصدار 1.2.0-rc02

‫22 يونيو 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc02 وandroidx.compose.animation:animation-core:1.2.0-rc02 وandroidx.compose.animation:animation-graphics:1.2.0-rc02. يتضمّن الإصدار 1.2.0-rc02 هذه التعديلات.

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

  • إزالة التعليق التوضيحي ExperimentalEasingApi من دوال التسهيل (Ied441)

الإصدار 1.2.0-rc01

‫15 يونيو 2022

تم إصدار androidx.compose.animation:animation:1.2.0-rc01 وandroidx.compose.animation:animation-core:1.2.0-rc01 وandroidx.compose.animation:animation-graphics:1.2.0-rc01. يتضمّن الإصدار 1.2.0-rc01 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • يتم الآن إنشاء الواجهات في مكتبات Compose باستخدام طرق الواجهة التلقائية في الإصدار 8 من حزمة تطوير البرامج (JDK) (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 إذا كانت اتجاه التنسيق الحالي من اليمين إلى اليسار. (I79cd9، b/185760237)

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

  • تم تعديل واجهات برمجة تطبيقات الرسومات المتجهة لاستخدام التعليق التوضيحي الصحيح القابل للإنشاء @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)

تحديثات الاعتماديات

  • يعتمد الآن على Kotlin 1.6.10.

الإصدار 1.1

الإصدار 1.1.1

‫23 فبراير 2022

تم إصدار androidx.compose.animation:animation:1.1.1 وandroidx.compose.animation:animation-core:1.1.1 وandroidx.compose.animation:animation-graphics:1.1.1. يتضمّن الإصدار 1.1.1 هذه التعديلات.

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

  • حلّ المشكلة في NullPointerException في androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059 وb/206677462)
  • تم إصلاح عُطل ناتج عن محتوى الحافظة أثناء القراءة منها على جهاز Android. (I06020، b/197769306)
  • إصلاح مشكلة اتجاه الكتابة من اليمين إلى اليسار في LazyVerticalGrid (aosp/1931080 وb/207510535)

الإصدار 1.1.0

‫9 فبراير 2022

تم إصدار androidx.compose.animation:animation:1.1.0 وandroidx.compose.animation:animation-core:1.1.0 وandroidx.compose.animation:animation-graphics:1.1.0. يتضمّن الإصدار 1.1.0 هذه التعديلات.

التغييرات المهمة منذ الإصدار 1.0.0

  • إتاحة تأثير التمرير السريع في Android 12 بشكل ثابت
  • تحسينات على حجم عناصر اللمس المستهدَفة
  • يُرجى العِلم أنّه في ما يتعلّق بالإصدار 1.0 من Compose، ستوسّع مكوّنات Material مساحة التنسيق لتلبية إرشادات تسهيل الاستخدام في Material بشأن حجم مساحة اللمس. على سبيل المثال، سيتم توسيع مساحة اللمس الخاصة بالزر إلى حدّ أدنى يبلغ 48x48 بكسل مستقل الكثافة، حتى إذا ضبطت حجم الزر على قيمة أصغر. يتوافق ذلك مع سلوك "مكوّنات Material Design" نفسه، ما يوفّر سلوكًا متسقًا في حال استخدام كلّ من "طرق العرض" وCompose. يضمن هذا التغيير أيضًا استيفاء الحدّ الأدنى من متطلبات إمكانية الوصول إلى مساحة اللمس عند إنشاء واجهة المستخدم باستخدام مكوّنات 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 هذه التعديلات.

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

  • تم تعديل التطبيق ليتوافق مع الإصدار 1.1.0-rc03 من Compose Material

الإصدار 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 هذه التعديلات.

الميزات الجديدة

  • تم تعديلها لتكون متوافقة مع Kotlin 1.6.0

الإصدار 1.1.0-beta03

‫17 نوفمبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-beta03 وandroidx.compose.animation:animation-core:1.1.0-beta03 وandroidx.compose.animation:animation-graphics:1.1.0-beta03. يتضمّن الإصدار 1.1.0-beta03 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة مفتاح التعديل الجديد Modifier.onPlaced للسماح بمراقبة تغيير موضع العنصر. وبالتالي، يمكن إجراء تغييرات إضافية على إزاحة المعدِّل الفرعي استنادًا إلى التغيير الملحوظ في موضع الإعلان. (I558fd)
  • إتاحة استخدام contentKey في ميزة "التضاؤل المتداخل" سيتم استخدام ContentKey للتحقّق من المساواة من خلال نظام الرسوم المتحركة. لذلك، يمكن تحقيق عملية مقارنة مخصّصة للحالات من خلال تحديد contentKey المناسب للحالات المختلفة.

    سيتم أيضًا استخدام ContentKey كمفتاح لحفظ المحتوى واستعادته. (I2e055، b/197907070)

الإصدار 1.1.0-beta02

‫3 نوفمبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-beta02 وandroidx.compose.animation:animation-core:1.1.0-beta02 وandroidx.compose.animation:animation-graphics:1.1.0-beta02. يتضمّن الإصدار 1.1.0-beta02 هذه التعديلات.

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

  • واجهات برمجة تطبيقات جديدة للصور المتحركة لدعم الأدوات على وجه التحديد، تتيح هذه السمة للأدوات فحص الصور المتحركة وإعداداتها في Transitions. (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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • واجهات برمجة تطبيقات جديدة للصور المتحركة لدعم الأدوات على وجه التحديد، تتيح هذه السمة للأدوات فحص الصور المتحركة وإعداداتها في Transitions. (I4116e)

الإصدار 1.1.0-alpha06

‫13 أكتوبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha06 وandroidx.compose.animation:animation-core:1.1.0-alpha06 وandroidx.compose.animation:animation-graphics:1.1.0-alpha06. يتضمّن الإصدار 1.1.0-alpha06 هذه التعديلات.

الإصدار 1.1.0-alpha05

‫29 سبتمبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha05 وandroidx.compose.animation:animation-core:1.1.0-alpha05 وandroidx.compose.animation:animation-graphics:1.1.0-alpha05. يتضمّن الإصدار 1.1.0-alpha05 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • أصبحت واجهات برمجة التطبيقات EnterTransition وExitTransition وبعض واجهات برمجة التطبيقات AnimatedVisibility ثابتة. لم تعُد ميزة MutableTransitionState.isIdle تجريبية أيضًا. (I5072d)

  • تغيير غير متوافق مع الإصدارات السابقة: تم نقل دوال lambda في مصانع Enter/ExitTransition إلى الموضع الأخير في قائمة المَعلمات. (I5072d)

الإصدار 1.1.0-alpha04

‫15 سبتمبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha04 وandroidx.compose.animation:animation-core:1.1.0-alpha04 وandroidx.compose.animation:animation-graphics:1.1.0-alpha04. يتضمّن الإصدار 1.1.0-alpha04 هذه التعديلات.

الإصدار 1.1.0-alpha03

‫1 سبتمبر 2021

تم إصدار androidx.compose.animation:animation:1.1.0-alpha03 وandroidx.compose.animation:animation-core:1.1.0-alpha03 وandroidx.compose.animation:animation-graphics:1.1.0-alpha03. يتضمّن الإصدار 1.1.0-alpha03 هذه التعديلات.

الميزات الجديدة

  • تم تعديل الإصدار 1.1.0-alpha03 من Compose ليعتمد على الإصدار 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 متاحة الآن في السمتَين repeatable وinfiniteRepeatable، وذلك لتأخير وقت البدء أو تسريع الحركة قبل أن تبدأ. لن يتم تكرار إزاحة البدء هذه (Ic679f، b/195079908)
  • انتقال جديد للدخول/الخروج من وضع ملء الشاشة يمكن استخدامها مع أنواع أخرى من Enter/ExitTransitions. (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 هذه التعديلات.

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

  • تم إصلاح مشكلة تعطُّل تتبُّع مثيلات derivedStateOf. (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 هذه التعديلات.

تحديثات الاعتماديات

  • تم تعديلها لتعتمد على Kotlin 1.5.31

الإصدار 1.0.3

‫29 سبتمبر 2021

تم طرح androidx.compose.animation:animation:1.0.3 وandroidx.compose.animation:animation-core:1.0.3. يتضمّن الإصدار 1.0.3 هذه التعديلات.

تحديثات الاعتماديات

  • تم تعديلها لتعتمد على Kotlin 1.5.30

الإصدار 1.0.2

‫1 سبتمبر 2021

تم طرح androidx.compose.animation:animation:1.0.2 وandroidx.compose.animation:animation-core:1.0.2. يتضمّن الإصدار 1.0.2 هذه التعديلات.

تم تعديل التطبيق ليتوافق مع إصدار Compose 1.0.2. لا يزال الإصدار 1.0.2 من Compose متوافقًا مع الإصدار 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 الرسمية لمزيد من التفاصيل.

المشاكل المعروفة

  • إذا كنت تستخدم الإصدار 4 من Android Studio Bumblebee Canary أو الإصدار 7.1.0-alpha04/7.1.0-alpha05 من "مكوّن Android الإضافي في Gradle"، قد تواجه الخطأ التالي:

      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 Composable جديد وتدير تغيير المحتوى باستخدام ContentTransform قابلة للتخصيص مع دخول محتوى مستهدَف جديد وخروج المحتوى الأولي. يمكن استخدام مجموعات مختلفة من انتقالات الدخول والخروج لإنشاء مظهر مخصّص. كجزء من عملية تحويل المحتوى، يتم تحريك حجم AnimatedContent تلقائيًا ليتناسب مع المحتوى الوارد. (I2c3df)
  • تمت إزالة ManualFrameClock. إذا كنت بحاجة إلى التحكّم في الصور المتحركة، استخدِم composeTestRule.mainClock بدلاً من ذلك. (I3c3e8، b/189951065)

قواعد الملفات الشخصية المُضافة

يضيف هذا الإصدار قواعد الملف الشخصي إلى وحدات الإنشاء التالية (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

ما هي قواعد الملفات الشخصية؟

  • يتم تحديد قواعد الملف الشخصي لمكتبة في ملف نصي baseline-prof.txt يقع في الدليل src/main أو الدليل المكافئ. يحدّد الملف قاعدة لكل سطر، حيث تكون القاعدة في هذه الحالة عبارة عن نمط للمطابقة مع الطرق أو الفئات في المكتبة. إنّ بنية هذه القواعد هي مجموعة فرعية من تنسيق ملف ART القابل للقراءة الذي يتم استخدامه عند استخدام adb shell profman --dump-classes-and-methods .... تتّخذ هذه القواعد أحد الشكلَين التاليَين لاستهداف الطرق أو الفئات.

  • ستتّبع قاعدة الطريقة النمط التالي:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • وستتّبع قاعدة الفئة النمط التالي:

    <CLASS_DESCRIPTOR>
    
  • هنا <FLAGS> هو واحد أو أكثر من الأحرف H وS وP للإشارة إلى ما إذا كان يجب تصنيف هذه الطريقة على أنّها "مهمة" أو "بدء التشغيل" أو "بعد بدء التشغيل".

  • <CLASS_DESCRIPTOR> هو واصف للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، سيكون للفئة androidx.compose.runtime.SlotTable واصف Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> هي توقيع الطريقة، وتشمل الاسم وأنواع المَعلمات وأنواع الإرجاع الخاصة بالطريقة. على سبيل المثال، تتضمّن الطريقة fun isPlaced(): Boolean في LayoutNode التوقيع isPlaced()Z.

  • يمكن أن تتضمّن هذه الأنماط أحرف بدل (** و* و?) لكي تشمل قاعدة واحدة طرقًا أو فئات متعدّدة.

ما هي وظيفة القواعد؟

  • تشير الطريقة التي تحمل العلامة H إلى أنّ هذه الطريقة هي طريقة "نشطة"، ويجب تجميعها مسبقًا.

  • تشير الطريقة التي تحمل العلامة S إلى أنّها طريقة يتم استدعاؤها عند بدء التشغيل، ويجب تجميعها مسبقًا لتجنُّب تكلفة التجميع وتفسير الطريقة عند بدء التشغيل.

  • تشير الطريقة التي تتضمّن العلامة P إلى أنّها طريقة يتم استدعاؤها بعد بدء التشغيل.

  • يشير أحد الصفوف المتوفّر في هذا الملف إلى أنّه يتم استخدامه أثناء بدء التشغيل ويجب تخصيصه مسبقًا في الذاكرة المؤقتة لتجنُّب تكلفة تحميل الصف.

آلية العمل

  • يمكن للمكتبات تحديد هذه القواعد التي سيتم تضمينها في عناصر AAR. عند إنشاء تطبيق يتضمّن هذه العناصر، يتم دمج هذه القواعد معًا واستخدام القواعد المدمجة لإنشاء ملف ثنائي مضغوط خاص بالتطبيق في ART. ويمكن أن يستفيد ART من هذا الملف عند تثبيت التطبيق على الأجهزة من أجل تجميع مجموعة فرعية محدّدة من التطبيق مسبقًا لتحسين أداء التطبيق، وخاصةً عند تشغيله للمرة الأولى. يُرجى العِلم أنّ هذا لن يؤثر في التطبيقات التي يمكن تصحيح أخطائها.

الإصدار 1.0.0-beta08

‫2 حزيران (يونيو) 2021

تم طرح androidx.compose.animation:animation:1.0.0-beta08 وandroidx.compose.animation:animation-core:1.0.0-beta08. يتضمّن الإصدار 1.0.0-beta08 هذه التعديلات.

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

  • سيتم الآن استهلاك تغيير الموضع تلقائيًا في detectDragGesures وdetectVerticalGestures وdetectHorizontalGestures، ولن يكون عليك استدعاء change.consumePositionChange في عمليات معاودة الاتصال onDrag (I42fc4 وb/185096350 وb/187320697).
  • تم تغيير Modifier.onGloballyPositioned() للإبلاغ عن إحداثيات أداة التعديل هذه في سلسلة أدوات التعديل، وليس إحداثيات التصميم بعد تطبيق جميع أدوات التعديل. وهذا يعني أنّ ترتيب المعدِّلات يؤثّر الآن في الإحداثيات التي سيتم تسجيلها. (Ieb67d، b/177926591)

الإصدار 1.0.0-beta07

‫18 أيار (مايو) 2021

تم طرح androidx.compose.animation:animation:1.0.0-beta07 وandroidx.compose.animation:animation-core:1.0.0-beta07. يتضمّن الإصدار 1.0.0-beta07 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • واجهة برمجة تطبيقات AnimatedVisibility جديدة تتيح تحديد مستوى الظهور في MutableTransitionState. ويتيح ذلك أيضًا مراقبة حالات الصور المتحركة خارج AnimatedVisibility من خلال currentState وisIdle.
    • إتاحة نقل حسابات الأطفال الجديدة في "برنامج النقل"
    • إتاحة استخدام رسوم متحركة مخصّصة للانتقال عند الخروج/الدخول في AnimatedVisibility باستخدام AnimationScope.transition
    • معدِّل animateEnterExit الجديد متاح لجميع العناصر الفرعية من AnimatedVisibility
    • تم إيقاف واجهات برمجة التطبيقات AnimatedVisibility التي تقبل المَعلمة 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 هذه التعديلات.

هذا هو الإصدار الأول من الإصدار التجريبي 1.0.0 من Compose.

تغييرات واجهة برمجة التطبيقات

  • تم استبدال "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)
  • تم تغيير حِزم طريقتَي smoothScrollBy وscrollBy إلى androidx.compose.foundation.gestures.* (I3f7c1، b/175294473)
  • تمت إعادة تسمية مُعدِّلات الحجم. تمت إعادة تسمية Modifier.width/height/size إلى requiredWidth/requiredHeight/requiredSize. تمت إعادة تسمية Modifier.preferredWidth/preferredHeight/preferredSize إلى width/height/size. (I5b414)
  • تم نقل الاتجاه إلى حزمة الأساس. تم نقل VelocirtTracker من ui.gesture إلى ui.input.pointer. (Iff4a8، b/175294473)
  • تمت إزالة AnimationClockObservable والفئات الفرعية. تمت إزالة AnimatedFloat. (Icde52، b/177457083)
  • تقبل Modifier.draggable الآن DraggableState بدلاً من تعبير لامدا بسيط. يمكنك إنشاء حالة من خلال rememberDraggableState { delta -> } للحصول على السلوك نفسه كما كان من قبل (Ica70f، b/175294473).
  • تمت إزالة واجهات برمجة التطبيقات animate وanimatedValue وAnimatedValue (If27bc وb/177457083).
  • تمت إزالة AnimationEndReason.Interrupted. سيتم طرح CancellationException إذا تمت مقاطعة الحركة. (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 الآن تذكُّر المفاتيح للإشارة إلى الوقت الذي يجب فيه إعادة تشغيل روتين coroutine الخاص برصد إدخال المؤشر من أجل التبعيات الجديدة. (I849cd)
  • تمت إعادة تسمية Bounds إلى 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 في حزمة. إذا كنت قد مرّرت سابقًا عنصر حفظ مخصّصًا، عليك الآن استخدام تحميل زائد جديد للدالة rememberSaveable يحتوي على المَعلمة stateSaver. سيكون الاستخدام على النحو التالي: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26، b/177338004)
  • تم تعديل توقيع طريقة Crossfade ليصبح أكثر اتساقًا مع بقية نظام الرسوم المتحركة. (Ib05ed، b/177457083)
  • تمت إعادة تسمية rememberSavedInstanceState() إلى rememberSaveable() ونقلها إلى حزمة androidx.compose.runtime.saveable. (I1366e، b/177338004)
  • تمت إعادة تسمية RestorableStateHolder إلى SaveableStateHolder ونقلها إلى حزمة androidx.compose.runtime.saveable. تمت إعادة تسمية الطريقة الداخلية RestorableStateProvider إلى SaveableStateProvider. تمت إزالة النوع العام حتى تتمكّن من تمرير Any كمفتاح. لم تعُد هناك حاجة إلى التعليق التوضيحي التجريبي. (I0902e، b/174598702)
  • تم تعديل واجهة برمجة التطبيقات Modifier.animateContentSize لتكون متوافقة مع بقية نظام الرسوم المتحركة. (I0bf75، b/177457083)
  • تم إيقاف AnimatedValue/Float نهائيًا. يُرجى استخدام Animatable بدلاً من ذلك. (I71345، b/177457083)
  • تم إيقاف tapGestureFilter وdoubleTapGestureFilter وlongPressGestureFilter وpressIndicaitonGestureFilter نهائيًا. استخدِم Modifier.clickable أو Modifier.pointerInput مع الدالة detectTapGestures بدلاً من ذلك. (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)
  • استخدام Long بدلاً من Uptime كنوع وقت للصور المتحركة (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)
  • New InfiniteTransition that runs any number of child animations. (I1da81)
  • تغيير واجهات مَعلمات Material ذات الحالة إلى دوال @Composable تعرض State<T> تمت إضافة Animatable.asState() لتسهيل تحويل Animatable إلى State. تغيير animateElevation أيضًا ليكون إضافة تعليق على Animatable (If613c)

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

  • تم إيقاف onCommit وonDispose وonActive نهائيًا لصالح واجهتَي برمجة التطبيقات SideEffect وDisposableEffect (If760e)
  • أصبحت الحالة الأولية في updateTransition متاحة الآن (Ifd51d)
  • تمت إضافة مَعلمة وصف المحتوى إلى "الصورة" و"الرمز". يُستخدَم لتوفير وصف للخدمات المخصّصة لتسهيل الاستخدام (I2ac4c)
  • تم الآن إيقاف invalidate وcompositionReference() نهائيًا واستبدالهما بـ currentRecomposeScope وrememberCompositionReference على التوالي. (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) وitemsIndexed(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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل Velocity لتضمين أجزاء مكوّنة وعمليات رياضية. (Ib0447)
  • تمت إعادة تسمية @ExperimentalTesting إلى @ExperimentalTestApi لتكون متوافقة مع التعليقات التوضيحية المشابهة لواجهات برمجة التطبيقات التجريبية (Ia4502 وb/171464963).
  • تمت إعادة تسمية Position إلى DpOffset وإزالة getDistance() (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 وما إلى ذلك إلى animation-core، وأوقفنا VectorConveters القديمة نهائيًا (If0c4b)
  • تم تقديم مجموعة جديدة تمامًا من واجهات برمجة التطبيقات الخاصة بالانتقالات، مع تحسين سهولة الاستخدام، وإتاحة إضافة حركات بشكل ديناميكي، واستهدافات حركات يتم احتسابها بشكل ديناميكي. تم تصنيف واجهات برمجة التطبيقات هذه على أنّها تجريبية لتسهيل التمييز بينها وبين واجهة برمجة التطبيقات المستندة إلى TransitionDefinition. (Ia7fe3)

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

  • تعرض دوال Lambda في أدوات تعديل الإزاحة الآن IntOffset بدلاً من Float. (Ic9ee5 وb/174137212 وb/174146755)
  • إيقاف LazyColumnFor وLazyRowFor وLazyColumnForIndexed وLazyRowForIndexed نهائيًا استخدام LazyColumn وLazyRow بدلاً من ذلك (I5b48c)
  • تمت إعادة تسمية واجهات برمجة التطبيقات الخاصة بتعليق إدخال المؤشر، HandlePointerInputScope إلى AwaitPointerEventScope و handlePointerInput() إلى awaitPointerEventScope(). (Idf0a1، b/175142755)
  • دالة infiniteRepeatable جديدة لإنشاء InfiniteRepeatableSpec (I668e5)
  • إزالة التعليق التوضيحي ExperimentalPointerInput (Ia7a24)

الإصدار 1.0.0-alpha08

‫2 ديسمبر 2020

تم طرح androidx.compose.animation:animation:1.0.0-alpha08 وandroidx.compose.animation:animation-core:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة فحص lint لأسماء مَعلمات lambda القابلة للإنشاء وموضعها، وذلك للتحقّق من التوافق مع إرشادات Compose. تم أيضًا نقل بعض واجهات برمجة التطبيقات التي تستخدم children كاسم لدالة lambda اللاحقة إلى content، وذلك وفقًا لفحص lint والإرشادات. (Iec48e)
  • تمت إزالة واجهات برمجة التطبيقات التي تم إيقافها نهائيًا سابقًا:
    • تمت إزالة Modifier.onPositioned، يُرجى استخدام Modifier.onGloballyPositioned.
    • تمت إزالة Modifier.onDraw، يُرجى استخدام Modifier.onDrawBehind.
    • تمت إزالة Modifier.plus، يُرجى استخدام Modifier.then.
    • تمت إزالة Color.Unset، يُرجى استخدام Color.Unspecified.
    • تمت إزالة الفئة PxBounds، لذا يُرجى استخدام Rect بدلاً منها.
    • (Ie9d02، b/172562222)
  • تمت إضافة خيار مؤقت للسماح بتشغيل TestAnimationClock من خلال MonotonicFrameClock (I1403b، b/173402197)

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

  • تمت إعادة تسمية Modifier.drawLayer إلى Modifier.graphicsLayer وتم أيضًا تعديل الفئات ذات الصلة إلى GraphicsLayer وفقًا لملاحظات مجلس API. (I0bd29، b/173834241)
  • تمت إضافة واجهات برمجة التطبيقات Modifier.scale/rotate كأدوات مساعدة في drawLayer.
    • تمت إعادة تسمية Modifier.drawOpacity إلى Modifier.alpha
    • تمت إعادة تسمية Modifier.drawShadow إلى Modifier.shadow (I264ca، b/173208140)
  • تم جعل حقلَي وقت التشغيل والموضع في PointerInputData غير قابلَين للتصغير. (Id468a)
  • تمت إعادة تسمية معدِّلات offsetPx إلى offset. تتلقّى الآن مَعلمات lambda بدلاً من State. (Ic3021، b/173594846)
  • واجهات برمجة تطبيقات جديدة لتشغيل الرسوم المتحركة في إجراءات فرعية (Ied662)
  • تم إيقاف Ambients القديمة التي تحمل الاسم Ambient كلاحقة، واستبدالها بخصائص جديدة تبدأ بـ Ambient، وذلك وفقًا لإرشادات Ambients الأخرى وواجهة برمجة تطبيقات Compose. (I33440)
  • أصبح التحكّم في الوقت في الاختبارات (TestAnimationClock واستخداماته) تجريبيًا الآن (I6ef86، b/171378521)
  • إزالة وحدة ui-test القديمة ورموزها (I3a7cb)
  • تمت إعادة تسمية الدالة RestorableStateHolder.withRestorableState إلى RestorableStateProvider (I66640)
  • تم تعديل واجهة "المحاذاة" وإتاحتها للاستخدام. (I46a07، b/172311734)

الإصدار 1.0.0-alpha07

‫11 نوفمبر 2020

تم طرح androidx.compose.animation:animation:1.0.0-alpha07 وandroidx.compose.animation:animation-core:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.

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

  • تم إيقاف العناصر الأساسية AmbientTextStyle وProvideTextStyle وAmbientContentColor نهائيًا. بدلاً من ذلك، استخدِم الإصدارات الجديدة المتوفّرة في مكتبة Material. بالنسبة إلى التطبيقات غير المستندة إلى Material، عليك بدلاً من ذلك إنشاء أنظمة تصميم خاصة بها تتضمّن سمات يمكن استخدامها في مكوناتك الخاصة. (I74acc، b/172067770)
  • تم إيقاف foundation.Text نهائيًا واستبداله بـ material.Text. للحصول على واجهة برمجة تطبيقات نصية أساسية وغير مشروطة لا تستخدم قيمًا من سمة، اطّلِع على androidx.compose.foundation.BasicText. (If64cb)
  • تم نقل MeasureResult خارج MeasureScope. (Ibf96d، b/171184002)
  • تم نقل العديد من الرموز ذات الصلة بالتصميم من androidx.compose.ui إلى androidx.compose.layout.ui. (I0fa98، b/170475424)

الإصدار 1.0.0-alpha06

‫28 أكتوبر 2020

تم طرح androidx.compose.animation:animation:1.0.0-alpha06 وandroidx.compose.animation:animation-core:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تفعيل عمليات الانتقال في ComposeTestRule وإزالة خيار تفعيل المؤشر الوامض من ComposeTestRule (If0de3)

الإصدار 1.0.0-alpha05

‫14 أكتوبر 2020

تم طرح androidx.compose.animation:animation:1.0.0-alpha05 وandroidx.compose.animation:animation-core:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • واجهة Animation الجديدة والفئات الفرعية: تخزّن هذه الفئات شروط البدء والانتهاء للصور المتحركة، وبالتالي تتيح الاستعلام عن القيمة والسرعة من خلال وقت التشغيل فقط (Ie95bd، b/163329867)

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

  • تمت إعادة تسمية OnPositionedModifier إلى OnGloballyPositionedModifier وإعادة تسمية onPositioned()‎ إلى onGloballyPositioned()‎. (I587e8، b/169083903)
  • إيقاف واجهتَي برمجة التطبيقات contentColor() وcurrentTextStyle() نهائيًا واستبدالهما بالسمتَين AmbientContentColor وAmbientTextStyle على التوالي يمكنك الوصول إلى القيمة الحالية باستخدام .current في السمة المحيطة، كما هو الحال مع أي سمة محيطة أخرى. تم إجراء هذا التغيير للحفاظ على الاتساق وتجنُّب توفّر طرق متعددة لإنجاز المهمة نفسها. بالإضافة إلى ذلك، يعيد تسمية بعض السمات المحيطة لتوضيح الغرض منها بشكل أفضل على النحو التالي:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • ‫RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

الإصدار 1.0.0-alpha04

1 تشرين الأول (أكتوبر) 2020

تم طرح androidx.compose.animation:animation:1.0.0-alpha04 وandroidx.compose.animation:animation-core:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة التعليقات التوضيحية إلى rootAnimationClockFactory وtransitionsEnabled وblinkingCursorEnabled وtextInputServiceFactory باستخدام @VisibleForTesting، وتم تحويلها إلى واجهة برمجة تطبيقات داخلية وإخفاء مستندات kdoc الخاصة بها (I554eb وb/168308412)

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

  • تم تعديل العديد من واجهات برمجة تطبيقات الرسومات
    • تم تعديل واجهات برمجة التطبيقات الخاصة بتغيير الحجم والتدوير لتقبل مَعلمة إزاحة واحدة تمثّل إحداثيات نقطة الارتكاز بدلاً من مَعلمات عددية منفصلة لإحداثيات س/ص في DrawScope وDrawTransform
    • تمت إزالة الطريقتَين Rect.expandToInclude وRect.join
    • عدّلنا مستندات "نصف القطر" لتشير إلى الشكل البيضوي بالإضافة إلى الشكل الإهليلجي
    • تمت إضافة مستندات للإشارة إلى أنّه يجب عدم استدعاء الدالة الإنشائية العامة لفئة Radius المضمّنة مباشرةً، بل يجب إنشاء عناصر Radius من خلال دوالها الإنشائية.
    • تمت إزالة واجهات برمجة تطبيقات RoundRect للاستعلام عن topRight وbottomRight وbottomCenter وما إلى ذلك.
    • إيقاف Rect.shift نهائيًا واستخدام Rect.translate بدلاً منه
    • إزالة واجهتَي برمجة التطبيقات RoundRect.grow وRect.shrink
    • تمت إعادة تسمية RoundRect.outerRect إلى Rect.boundingRect
    • تمت إزالة طرق RoundRect.middleRect/tallMiddleRect/wideMiddleRect وRect.isStadium
    • تمت إعادة تسمية RoundRect.longestSide إلى RoundRect.maxDimension
    • تمت إعادة تسمية RoundRect.shortestSide إلى RoundRect.minDimension
    • تم تغيير RoundRect.center ليكون سمة بدلاً من دالة
    • تم تعديل الدالة الإنشائية RoundRect لتستهلك خصائص Radius بدلاً من المَعلمات الفردية لقيم نصف القطر x/y
    • تمت إزالة واجهات برمجة التطبيقات الخاصة بالحجم التي افترضت أنّها مستطيل بنقطة بداية عند 0,0
    • تمت إضافة واجهة برمجة تطبيقات لتدمير البيانات إلى Radius
    • نقلنا العديد من دوال إضافة RoundRect إلى خصائص بدلاً من ذلك
    • (I8f5c7، b/168762961)
  • تم إيقاف foundation.Box نهائيًا. يُرجى استخدام foundation.layout.Box بدلاً من ذلك. (Ie5950، b/167680279)
  • تمت إعادة تسمية الحزمة لتصبح Box. سيتم إيقاف Box القديم نهائيًا واستخدام Box الجديد في compose.foundation.layout. سيتيح المربّع الجديد ترتيب العناصر الفرعية فوق بعضها البعض عندما يتضمّن عدة عناصر فرعية، وهذا يختلف عن المربّع السابق الذي كان يتصرف بشكل مشابه للعمود. (I94893، b/167680279)
  • تم إيقاف مَعلمات تزيين المربّعات نهائيًا. إذا كنت تريد إضافة زخارف أو مساحة متروكة إلى المربّع، استخدِم المعدِّلات بدلاً من ذلك (Modifier.background وModifier.border وModifier.padding) (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 يتضمّن سلوك 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)
  • أصبح IntOffset الآن فئة مضمّنة (Iac0bf)
  • أصبح IntSize الآن فئة مضمّنة (I2bf42)
  • تُحرّك الدالة البرمجية القابلة للإنشاء AnimatedVisibilty ظهور المحتوى الفرعي واختفاءه.

    تم تقديم EnterTransition وExitTransition للعمل مع AnimatedVisibilty القابل للإنشاء لتوفير 3 أنواع مختلفة من حركات الظهور والاختفاء: التلاشي والانزلاق والتوسيع/التصغير. يمكن دمج الأنواع المختلفة من الصور المتحركة للحصول على مظهر وأسلوب أكثر تخصيصًا. (Idda11)

  • تم إيقاف PxBounds نهائيًا واستبداله بـ Rect. تم تعديل جميع استخدامات PxBounds باستخدام rect، وتمت إضافة تعليقات توضيحية مناسبة بشأن الإيقاف نهائيًا والاستبدال للمساعدة في عملية نقل البيانات. (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 لسد الفجوة بين الساعات الجديدة المستندة إلى الروتينات المشتركة وواجهات برمجة التطبيقات التي لا تزال تستخدم الساعات القديمة المستندة إلى عمليات معاودة الاتصال.

    أصبح سعر ManualAnimationClock بالعملة المحلية MonotonicFrameClock هو ManualFrameClock. (I111c7، b/161247083)

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

  • تم تعديل واجهات برمجة التطبيقات التي تتيح استخدام اللغة من اليمين إلى اليسار. تمت إضافة LayoutDirectionAmbient، ويمكن استخدامها لقراءة اتجاه التنسيق وتغييره. تمت إزالة Modifier.rtl وModifier.ltr. (I080b3)
  • يجب تحديد النوع T بشكل صريح لـ transitionDefinition. (I1aded)
  • تمت تسوية حزمة foundation.shape.corner إلى foundation.share (I46491، b/161887429)
  • تم إيقاف Modifier.plus نهائيًا، يُرجى استخدام Modifier.then بدلاً من ذلك. توفّر الكلمة الأساسية "ثم" إشارة أقوى للترتيب، كما أنّها تحظر كتابة Modifier.padding().background() + anotherModifier، ما يؤدي إلى إيقاف السلسلة ويصعّب قراءتها (Iedd58، b/161529964)
  • تمت إعادة تسمية Modifier.drawBackground إلى Modifier.background (I13677)

الإصدار 0.1.0-dev15

‫22 تموز (يوليو) 2020

تم طرح androidx.compose.animation:animation:0.1.0-dev15 وandroidx.compose.animation:animation-core:0.1.0-dev15. يتضمّن الإصدار 0.1.0-dev15 هذه التعديلات.

تعديل التبعيات

  • لاستخدام إصدار 0.1.0-dev15 من Compose، عليك تعديل التبعيات وفقًا لمقتطفات الرموز الجديدة الموضّحة أعلاه في تعريف التبعيات.

تغييرات واجهة برمجة التطبيقات

  • تم تغيير Transition API لعرض TransitionState بدلاً من تمرير TransitionState إلى العناصر الفرعية. ويجعل ذلك واجهة برمجة التطبيقات أكثر اتساقًا مع واجهات برمجة التطبيقات animate(). (I24e38)
  • تمت إضافة مَعلمة المعدِّل إلى Crossfade (I87cfe، b/159706180)
  • استخدِم AnimationSpec بدلاً من AnimationBuilder في واجهات برمجة التطبيقات ذات المستوى الأعلى لتوضيح مفهوم مواصفات الحركة الثابتة
    • تحسين لغة DSL الخاصة بالانتقال من خلال إزالة شرط استخدام lambda لإنشاء AnimationSpecs، مثل tween وspring بدلاً من ذلك، يتم استخدام مَعلمات الدالة الإنشائية مباشرةً.
    • تحسين سهولة الاستخدام العامة لـ AnimationSpec من خلال توفير أدوات إنشاء بدلاً من الاعتماد على أدوات الإنشاء
    • تغيير المدة والتأخير لكلّ من KeyFrames وTween إلى Int، ما يؤدي إلى إلغاء عمليات تحويل الأنواع وتجاوز تحميل الطرق غير الضرورية (لدعم كلّ من Long وInt). (Ica0b4)
  • تم استبدال استخدام IntPx بـ Int، واستبدال IntPxPosition بـ IntOffset. تم استبدال IntPxSize بـ IntSize. (Ib7b44)
  • من أجل دمج عدد الفئات المستخدَمة لتمثيل معلومات الحجم، يجب توحيد استخدام فئة Size بدلاً من PxSize. يوفّر ذلك مزايا فئة مضمّنة للاستفادة من قيمة طويلة لتعبئة قيمتَين عائمتَين لتمثيل العرض والارتفاع كقيم عائمة. (Ic0191)
  • من أجل توحيد عدد الفئات المستخدَمة لتمثيل معلومات تحديد المواقع، يجب توحيد استخدام فئة Offset بدلاً من PxPosition. ويوفّر ذلك مزايا فئة مضمّنة للاستفادة من قيمة طويلة لتعبئة قيمتَين عائمتَين لتمثيل الإزاحتَين x وy الممثلتَين كقيم عائمة. (I3ad98)
  • تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة البناء الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل (I086f4)
  • تمت إضافة إمكانية استخدام animate() مع Dp وPx وSize وPosition وBounds وPxPosition وPxSize وPxBounds وIntPx وIntPxSize وIntPxPosition وIntPxBounds وAnimationVector (Ib7518)
  • تقبل Crossfade الآن مَعلمة AnimationBuilder اختيارية للسماح بإعداد الرسوم المتحركة (I6d6e0)
  • تم استبدال جميع استخدامات Color القابلة للتصغير في واجهة برمجة التطبيقات بقيم غير قابلة للتصغير، وتم استخدام Color.Unset بدلاً من القيمة الخالية (Iabaa7)
  • تمت إزالة فئة ValueHolder. تمت إعادة هيكلة الفئتين AnimatedValue وAnimatedFloat لجعل حقل قيمة الحركة مجرّدًا حتى تتمكّن الفئات الفرعية من مراقبة تعديل القيمة.
    • تمت إضافة فئات النماذج إلى AnimatedValue وAnimatedFloat وما إلى ذلك.
    • تمت إضافة مجموعة جديدة من واجهات برمجة التطبيقات @Composable خفيفة الوزن لتفعيل الرسوم المتحركة بين القيم. (I79530)
  • تغييرات غير متوافقة في واجهة برمجة التطبيقات ambients API راجِع مستندات السجلّ وAmbient<T> للحصول على التفاصيل (I4c7ee، b/143769776)
  • وضع تكرار جديد: الرجوع إلى الخلف يعكس هذا الوضع التكرار السابق عندما تتكرر الصورة المتحركة في RepeatableSpec أو VectorizedRepeatableSpec. (Ibe0f5)
  • إضافات واجهة برمجة التطبيقات إلى ManualAnimationClock: hasObservers: Boolean ومَعلمة الدالة الإنشائية dispatchOnSubscribe: Boolean (Iaa134)
  • تمت إضافة واجهات برمجة تطبيقات للحصول على الحدّين الأدنى والأقصى في AnimatedFloat (Icd9cc)

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

  • تمت إعادة تسمية runOnIdleCompose إلى runOnIdle (I83607)
  • تمت إعادة تسمية العديد من واجهات برمجة التطبيقات الخاصة بالاختبار لتكون أكثر سهولة في الاستخدام. تمت إعادة تسمية جميع واجهات برمجة التطبيقات findXYZ لتصبح onNodeXYZ. تمت إعادة تسمية جميع واجهات برمجة التطبيقات doXYZ إلى performXYZ. (I7f164)
  • تم تقديم واجهات برمجة تطبيقات لحركات بدون حالة على مستوى منخفض. واجهات برمجة التطبيقات هذه (I63bf7)
  • لم يعُد العنصر Recompose القابل للإنشاء تجريدًا مفيدًا. يجب أن تحدث معظم عمليات إعادة التركيب نتيجة لعمليات تعيين MutableState. بالنسبة إلى أي شيء آخر، ننصحك باستخدام الدالة invalidate لتفعيل إعادة إنشاء النطاق الحالي. (Ifc992)
  • تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة البناء الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل. تم حذف فئة Px بالكامل (I3ff33)
  • تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة تصميم كبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل (Id3434)
  • يمكن الآن استخدام Crossfade مع قيمة فارغة كقيمة أولية (Iad6a4، b/155947711)
  • تم استبدال استخدام فئة Px في العديد من فئات Compose كجزء من عملية إعادة التصميم الكبيرة للاعتماد فقط على Dp والأنواع الأساسية لمعلمات البكسل (I19d02)
  • تم دمج عمليات تنفيذ CanvasScope بحيث لا يتوفّر الآن سوى DrawScope و ContentDrawScope تمت إعادة تسمية CanvasScope إلى DrawScope. تم تعديل DrawScope لتنفيذ واجهة Density وتوفير LayoutDirection تم حذف فئة DrawScope الفرعية في ContentDrawScope تم تعديل Painter وPainterModifier للتوقف عن الاحتفاظ بخاصية RTL لأنّ DrawScope يوفّرها تلقائيًا بدون الحاجة إلى توفيرها يدويًا (I1798e)
  • تم تعديل واجهات برمجة التطبيقات ذات المستوى الأعلى في Compose التي تعرض Canvas لعرض CanvasScope بدلاً من ذلك. ويؤدي ذلك إلى إزالة الحاجة إلى أن يحتفظ المستهلكون بكائنات Paint الخاصة بهم. بالنسبة إلى المستهلكين الذين ما زالوا بحاجة إلى الوصول إلى Canvas، يمكنهم استخدام طريقة drawCanvas الخاصة بالإضافة التي توفّر دالة ردّ نداء لإصدار أوامر الرسم باستخدام Canvas الأساسي. (I80afd)
  • تمت إضافة المَعلمتَين verticalGravity وhorizontalGravity إلى Row وColumn على التوالي. (I7dc5a)
  • تمت إعادة تسمية وحدة ui-text إلى ui-text-core (I57dec)
  • تحسين واجهة برمجة التطبيقات DrawModifier:
    • تم إنشاء نطاق المتلقّي للدالة draw() ContentDrawScope
    • تمت إزالة جميع المَعلمات من draw()
    • تتضمّن DrawScope الواجهة نفسها التي كانت تتضمّنها CanvasScope سابقًا
    • يحتوي ContentDrawScope على طريقة drawContent()‎ (Ibaced، b/152919067)
  • أصبح runOnIdleCompose وrunOnUiThread الآن دالتَين عامتَين بدلاً من طريقتَين في ComposeTestRule. (Icbe8f)
  • تم نقل عوامل تشغيل تفويض السمة State [Mutable]إلى الإضافات لإتاحة تحسينات تفويض السمة في Kotlin 1.4. على المتصلين إضافة عمليات استيراد لمواصلة استخدام by state { ... } أو by mutableStateOf(...). (I5312c)
  • تم إيقاف ColoredRect نهائيًا. يمكنك استخدام Box(Modifier.preferredSize(width, height).drawBackground(color)) كبديل. (I499fa، b/152753731)
  • استبدال المعدِّل وعلامة الجمع بدوال إضافة المصنع (I225e4)
  • تم إيقاف دالة Center البرمجية القابلة للإنشاء. يجب استبداله إما بالمعدِّل LayoutSize.Fill + LayoutAlign.Center، أو بأحد العناصر القابلة للإنشاء Box أو Stack مع تطبيق المعدِّلات المناسبة (Idf5e0).
  • تمت إعادة تسمية LayoutFlexible إلى LayoutWeight. تمت إعادة تسمية المَعلمة "ضيق" إلى "ملء". (If4738)
  • تم استبدال الدالة القابلة للإنشاء Opacity بالمعدِّل drawOpacity. (I5fb62)
  • توفّر الاختبارات التي تستخدم AndroidComposeTestRule الآن ساعة رسوم متحركة في جذر التركيب، ما يتيح إيقافها مؤقتًا واستئنافها وتقديمها يدويًا. (Id54c5)
  • إتاحة الاتجاه من اليمين إلى اليسار في أداة التعديل LayoutPadding (I9e8da)
  • تم دمج Density وDensityScope في واجهة واحدة. بدلاً من ambientDensity()، يمكنك الآن استخدام DensityAmbient.current. بدلاً من withDensity(density) فقط 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.disposeComposition نهائيًا. استخدِم طريقة dispose في Composition التي تعرضها setContent بدلاً من ذلك. تم نقل androidx.compose.Compose.subcomposeInto إلى androidx.ui.core.subcomposeInto تمت إعادة تسمية ComponentNode#emitInsertAt إلى ComponentNode#insertAt تمت إعادة تسمية ComponentNode#emitRemoveAt إلى ComponentNode#removeAt تمت إعادة تسمية ComponentNode#emitMode إلى ComponentNode#move (Idef00)