Compose Animation

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

البنية

‫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.8.3"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

الملاحظات

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

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

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

الإصدار 1.9

الإصدار 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.8.2 من "مكوّن Android الإضافي لنظام Gradle" كحد أدنى. إذا لم تتمكّن من ترقية AGP، يمكنك بدلاً من ذلك ترقية 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 على عمليات الإيداع هذه.

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

  • تم إصلاح المشكلة التي كانت تمنع SharedTransitionScope من رسم عناصر التراكب أثناء الانتقال في ظروف معيّنة، والتي تشمل عادةً الاستخدام مع Navigation. (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 ممتعة وثابتة الآن. (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 Release الرسمية لمزيد من التفاصيل.

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

  • إذا كنت تستخدم الإصدار 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 وفقًا لتعليقات مجلس واجهات برمجة التطبيقات. (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 لإنشاء AnimationSpec، مثل 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 [قابلة للتغيير]إلى الإضافات لإتاحة تحسينات تفويض السمة في 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
    • Deprecated Size.copy companion object method favor of instance copy method (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)