انتقالات

أضِف حركة متحركة في واجهة المستخدم باستخدام التنسيقات الأساسية والنهائية.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
11 كانون الأول (ديسمبر) 2024 1.5.1 - - 1.6.0-alpha01

الإعلان عن التبعيات

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

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

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.5.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.5.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.5.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.5.1")
}

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

ملاحظات

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

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

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

الإصدار 1.6

الإصدار 1.6.0-alpha01

11 كانون الأول (ديسمبر) 2024

تم إصدار androidx.transition:transition:1.6.0-alpha01 وandroidx.transition:transition-ktx:1.6.0-alpha01. يتضمّن الإصدار 1.6.0-alpha01 عمليات الربط هذه.

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

  • يضبط الانتقال الآن العنصر الرئيسي غير المتّصل لعنصر ViewOverlays المستخدَم لإضافة تأثيرات متحركة إلى الانتقالات. يتيح ذلك حلّ مشكلة مالكي العناصر من خلال العنصر الرئيسي غير المتّصل، ما يعني أنّه يمكنك الآن حلّ مشكلة ViewModels ومراحل الحياة وما إلى ذلك بشكل صحيح أثناء عملية النقل. (I10a16، b/340894487، b/287484338)

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

  • تستخدم هذه المكتبة الآن تعليقات توضيحية حول عدم تحديد قيمة JSpecify، وهي عبارة عن استخدام للنوع. على مطوّري Kotlin استخدام مَعلمات المُجمِّع التالية لفرض الاستخدام الصحيح: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I1f54e، b/326456246)
  • تمت إزالة التحديد اليدوي للوصول إلى واجهات برمجة تطبيقات المنصة الجديدة لأنّ ذلك يحدث تلقائيًا من خلال وضع نماذج لواجهات برمجة التطبيقات عند استخدام R8 مع AGP 7.3 أو إصدار أحدث (مثل R8 الإصدار 3.3) ولجميع الإصدارات عند استخدام AGP 8.1 أو إصدار أحدث (مثل D8 الإصدار 8.1). ننصح العملاء الذين لا يستخدمون AGP بالتحديث إلى الإصدار 8.1 من D8 أو إصدار أحدث. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (Ia60e0، b/345472586)

الإصدار 1.5

الإصدار 1.5.1

24 تموز (يوليو) 2024

تم إصدار androidx.transition:transition:1.5.1 وandroidx.transition:transition-ktx:1.5.1. يحتوي الإصدار 1.5.1 على عمليات الربط هذه.

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

  • تم إصلاح مشكلة تجاهل طلبات animateToStart() أو animateToEnd() في انتقال قابل للتقديم أو الإيقاف إذا لم يتم بدء الانتقال. (I44d96، b/338624457)

الإصدار 1.5.0

1 مايو 2024

تم إصدار androidx.transition:transition:1.5.0 وandroidx.transition:transition-ktx:1.5.0. يتضمّن الإصدار 1.5.0 عمليات الربط هذه.

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

  • تتيح الانتقالات إمكانية التقديم أو الإيقاف في المستوى 34 من واجهة برمجة التطبيقات والإصدارات الأحدث. تمت إضافة واجهة برمجة تطبيقات جديدة إلى TransitionManager، controlDelayedTransition()، والتي تعرض TransitionSeekController تتيح البحث عن Transition. يستخدم الإصدار 1.7.0 من Fragment هذه الوظيفة للبحث تلقائيًا عن الانتقالات عند استخدام إيماءة الرجوع التوقّعية.
  • تحتوي الانتقالات على طريقة جديدة، وهي getRootTransition()، التي تعرض الانتقال الذي يحتوي على الانتقال الحالي أو الانتقال الحالي إذا لم يكن مضمّنًا في أي انتقال آخر. يمكن أن يكون ذلك مفيدًا إذا كان المطوِّر بحاجة إلى مستمعين لبدء أو إنهاء عملية النقل بأكملها.
  • تتضمّن TransitionListeners الآن مستمعَي onTransitionStart() وonTransitionEnd() جديدَين يسمحان للمطوّر بمعرفة ما إذا كانت عملية النقل تبدأ أو تنتهي بالعكس أم لا. قد يكون ذلك مهمًا لتطوير عمليات النقل القابلة للتقديم أو الإيقاف التي تحتوي على TransitionListeners.

الإصدار 1.5.0-rc02

17 نيسان (أبريل) 2024

تم إصدار androidx.transition:transition:1.5.0-rc02 وandroidx.transition:transition-ktx:1.5.0-rc02. يتضمّن الإصدار 1.5.0-rc02 عمليات الربط هذه.

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

  • تم تعديل الاعتماد على المقتطف إلى الإصدار 1.7.0-rc02 الذي أصلح خطأً كان يحدث عند إضافة عنصر مشترَك غير قابل للتقديم أو الإيقاف إلى معاملة كانت جميع الانتقالات الأخرى فيها قابلة للتقديم أو الإيقاف.

الإصدار 1.5.0-rc01

3 نيسان (أبريل) 2024

تم إصدار androidx.transition:transition:1.5.0-rc01 وandroidx.transition:transition-ktx:1.5.0-rc01. يتضمّن الإصدار 1.5.0-rc01 عمليات الربط هذه.

الإصدار 1.5.0-beta01

20 مارس 2024

تم إصدار androidx.transition:transition:1.5.0-beta01 وandroidx.transition:transition-ktx:1.5.0-beta01. يتضمّن الإصدار 1.5.0-beta01 عمليات الربط هذه.

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

  • تم إصلاح مشكلة في "المقاطع" حيث يؤدي إيقاف عمليات النقل الواردة باستخدام إيماءة "الرجوع التوقّعي" إلى إتلاف العرض الذي يتم إدخاله، ما قد يؤدي إلى ظهور شاشة فارغة. (Id3f22، b/319531491)

الإصدار 1.5.0-alpha06

10 كانون الثاني (يناير) 2024

تم إصدار androidx.transition:transition:1.5.0-alpha06 وandroidx.transition:transition-ktx:1.5.0-alpha06. يحتوي الإصدار 1.5.0-alpha06 على هذه المراجعات.

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

  • عند استخدامTransitionSeekController.animateToStart()، سيتم الآن استدعاء onTransitionEnd() في TransitionListeners المُضاف بعد أن يُعطى animateToStart() Runnable. (Ic6a55، b/307624554)

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

  • تم تعديل الاعتماد على المقتطف إلى 1.7.0-alpha08.

الإصدار 1.5.0-alpha05

29 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.transition:transition:1.5.0-alpha05 وandroidx.transition:transition-ktx:1.5.0-alpha05. يحتوي الإصدار 1.5.0-alpha05 على هذه المراجعات.

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

  • تم إصلاح NullPointerException ناتج عن ضبط انتقال عنصر مشترَك وتعذُّر ضبط enter/exitTransition أيضًا. (I8472b)
  • تم إصلاح مشكلة تعذُّر نقل "طريقة العرض" إلى موضع البداية من قِبل animateToStart() مع Slide() (I698f4، b/300157785)
  • تم حلّ مشكلة إعادة الدخول في الانتقال التي أدّت إلى إيقاف الإلغاء. (Iddcce، b/308379201)

الإصدار 1.5.0-alpha04

‫4 أكتوبر 2023

androidx.transition:transition:1.5.0-alpha04 وandroidx.transition:transition-ktx:1.5.0-alpha04 يحتوي الإصدار 1.5.0-alpha04 على هذه المراجعات.

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

  • تغيير مهم: تأخذ طريقة animateToStart() الآن Runnable يجب استخدامه لإعادة طرق العرض الانتقالية إلى حالتها الأصلية.

الإصدار 1.5.0-alpha03

20 أيلول (سبتمبر) 2023

تم إصدار androidx.transition:transition:1.5.0-alpha03 وandroidx.transition:transition-ktx:1.5.0-alpha03. يحتوي الإصدار 1.5.0-alpha03 على هذه المراجعات.

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

  • يتيح Transition الآن استخدام الصور المتحركة لإيماءة إظهار شاشة الرجوع داخل التطبيقات على أجهزة Android 14 عند استخدامه مع الوحدة 1.7.0-alpha05.

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

  • تم إصلاح الخطأ الذي كان يؤدي إلى إيقاف انتقال الشرائح. عندما كان انتقال الشريحة يقاطع انتقالًا للدخول لإزالة عرض، كان يتم القفز إلى موضع غير صحيح. (I946f8، b/297427333)

الإصدار 1.5.0-alpha02

6 أيلول (سبتمبر) 2023

تم إصدار androidx.transition:transition:1.5.0-alpha02 وandroidx.transition:transition-ktx:1.5.0-alpha02. يحتوي الإصدار 1.5.0-alpha02 على هذه المراجعات.

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

  • تتيح لك الآن القيمة TransitionSeekController ضبط مستوى التقدّم ككسر من إجمالي المدة من خلال القيمة setCurrentFragment(). (aosp/2647607)
  • يتيح TransitionSeekController الآن مراقبة مستوى التقدّم عند استخدام animateToStart() وanimateToEnd() من خلال الاتصال برقم addOnProgressChangedListener. (aosp/2647607)
  • تمت إضافة TransitionManager.seekTo() للسماح باستخدام "المشاهد" للبحث عن "الانتقالات". (aosp/2647607)
  • تمت إضافة رسوم متحركة مستندة إلى الفيزياء إلى عمليات الانتقال أثناء التقديم أو الإيقاف. يستخدم هذا الإجراء أداة تتبُّع السرعة في بعد واحد لتتبُّع تغيير مستوى التقدّم باستخدام setCurrentFraction() أو setCurrentPlayTimeMillis()، كما يستخدمه للسرعة الأولية لanimateToStart وanimateToEnd. (aosp/2647607)

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

  • تم إصلاح مشكلة وميض الشاشة عند الانتقال إلى AutoTransition. (aosp/2643369)
  • تم إصلاح مشكلة كانت تؤدي إلى قفزة انتقال Slide إلى موضع البدء غير الصحيح عند مقاطعة الانتقال. (aosp/2733729، b/297427333)

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

  • يتم الآن تجميع الانتقال باستخدام الإصدار 34 من واجهة برمجة التطبيقات.

الإصدار 1.5.0-alpha01

10 أيار (مايو) 2023

تم إصدار androidx.transition:transition:1.5.0-alpha01 وandroidx.transition:transition-ktx:1.5.0-alpha01. تم تطوير هذا الإصدار في فرع داخلي.

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

  • تتيح الانتقالات إمكانية التقديم أو الإيقاف في المستوى 34 من واجهة برمجة التطبيقات والإصدارات الأحدث. تمت إضافة واجهة برمجة تطبيقات جديدة إلى TransitionManager، controlDelayedTransition()، والتي تعرض TransisionSeekController يسمح بالبحث عن الانتقال.

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

  • يحتوي TransitionManager على طريقة جديدة، وهي controlDelayedTransition()، تتيح للتطبيقات التحكّم في مستوى تقدّم الصور المتحركة للانتقال في الإصدار 34 من واجهة برمجة التطبيقات والإصدارات الأحدث. ويتيح العنصر TransitionSeekController الذي يتم إرجاعه للمطوّر معرفة ما إذا كان الانتقال جاهزًا للتقديم أو الإيقاف، ومدة الصورة المتحركة، كما يتيح ضبط الوقت الحالي للصورة المتحركة. لا تتيح controlDelayedTransition() سوى الانتقالات التي تلغي isSeekable() لعرض القيمة true.
  • تحتوي الانتقالات على طريقة جديدة، وهي getRootTransition()، التي تعرض الانتقال الذي يحتوي على الانتقال الحالي أو الانتقال الحالي إذا لم يكن مضمّنًا في أي انتقال آخر. يمكن أن يكون ذلك مفيدًا إذا كان المطوِّر بحاجة إلى مستمعين لبدء أو إنهاء عملية النقل بأكملها.
  • تتضمّن TransitionListeners الآن مستمعَي onTransitionStart() وonTransitionEnd() جديدَين يسمحان للمطوّر بمعرفة ما إذا كانت عملية النقل تبدأ أو تنتهي بالعكس أم لا. قد يكون ذلك مهمًا لتطوير عمليات النقل القابلة للتقديم أو الإيقاف التي تحتوي على TransitionListeners.

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

  • تنسخ الآن الانتقالات TransitionListeners عند استنساخها. وهذا يعني أنّ إضافة مستمعين جدد أثناء createAnimator() لن تؤثّر في الانتقال الجذري.

الإصدار 1.4.1

الإصدار 1.4.1

21 نيسان (أبريل) 2021

تم إصدار androidx.transition:transition:1.4.1 وandroidx.transition:transition-ktx:1.4.1. يحتوي الإصدار 1.4.1 على هذه المراجعات.

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

  • تم إصلاح مشكلة كانت تؤدي إلى إيقاف مؤقت غير مقصود للعمليات الانتقالية الأخرى الجارية في حاويات منفصلة عند بدء Transition في حاوية واحدة، ما يؤدي إلى عدم اكتمال هذه العمليات الانتقالية الأخرى أبدًا. (aosp/1664439، b/182845041)

الإصدار 1.4.0

الإصدار 1.4.0

27 كانون الثاني (يناير) 2021

تم إصدار androidx.transition:transition:1.4.0 وandroidx.transition:transition-ktx:1.4.0. يحتوي الإصدار 1.4.0 على هذه المراجعات.

التغييرات الرئيسية منذ الإصدار 1.3.0

  • يقدّم العنصر transition-ktx إضافات Kotlin لإضافة مستمعين إلى نُسخ Transition من AndroidX. (b/138870873)

الإصدار 1.4.0-rc01

2 كانون الأول (ديسمبر) 2020

تم إصدار androidx.transition:transition:1.4.0-rc01 وandroidx.transition:transition-ktx:1.4.0-rc01 بدون أي تغييرات من 1.4.0-beta01. يحتوي الإصدار 1.4.0-rc01 على هذه المراجعات.

الإصدار 1.4.0-beta01

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

تم إصدار androidx.transition:transition:1.4.0-beta01 وandroidx.transition:transition-ktx:1.4.0-beta01 بدون أي تغييرات منذ 1.4.0-alpha01. يحتوي الإصدار 1.4.0-beta01 على هذه المراجعات.

الإصدار 1.4.0-alpha01

24 حزيران (يونيو) 2020

تم إصدار androidx.transition:transition:1.4.0-alpha01 وandroidx.transition:transition-ktx:1.4.0-alpha01. يحتوي الإصدار 1.4.0-alpha01 على هذه المراجعات.

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

  • يقدّم العنصر transition-ktx إضافات Kotlin لإضافة مستمعين إلى نُسخ Transition من AndroidX. (b/138870873)

الإصدار 1.3.1

الإصدار 1.3.1

19 شباط (فبراير) 2020

تم إصدار androidx.transition:transition:1.3.1. يحتوي الإصدار 1.3.1 على هذه المراجعات.

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

  • تم إصلاح خطأ كان يؤدي إلى اقتصاص بعض المشاهد المتحركة بشكل غير صحيح عند استخدام ChangeTransform (b/148798452)

الإصدار 1.3.0

الإصدار 1.3.0

22 كانون الثاني (يناير) 2020

تم إصدار androidx.transition:transition:1.3.0. يحتوي الإصدار 1.3.0 على عمليات الربط هذه.

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

  • تحسينات على الإصدار 1.2.0 من Fragment: تم تحسين الدمج مع الإصدار 1.2.0 من Fragment لضمان عدم إتلاف عرض Fragment قبل اكتمال عملية النقل وإلغاء عمليات النقل في الوقت المناسب.

الإصدار 1.3.0-rc02

4 كانون الأول (ديسمبر) 2019

تم إصدار androidx.transition:transition:1.3.0-rc02. يحتوي الإصدار 1.3.0-rc02 على عمليات الربط هذه.

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

  • تم حلّ مشكلة وضع علامة INVISIBLE بشكل غير صحيح على "المشاهدات" بعد عرض "مقتطف" مخفي. (b/70793925)

الإصدار 1.3.0-rc01

23 تشرين الأول (أكتوبر) 2019

تم إصدار androidx.transition:transition:1.3.0-rc01 بدون أي تغييرات منذ 1.3.0-beta01. يحتوي الإصدار 1.3.0-rc01 على هذه المراجعات.

الإصدار 1.3.0-beta01

9 تشرين الأول (أكتوبر) 2019

تم إصدار androidx.transition:transition:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على هذه المراجعات.

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

  • تم تحسين الدمج مع العنصر 1.2.0-beta01 لضمان عدم إتلاف عرض العنصر قبل اكتمال عملية النقل وإلغاء عمليات النقل في الوقت المناسب. (aosp/1119841)

الإصدار 1.2.0

الإصدار 1.2.0

9 تشرين الأول (أكتوبر) 2019

تم طرح الإصدار androidx.transition:transition:1.2.0 بدون أي تغييرات عن الإصدار 1.2.0-rc01 . يحتوي الإصدار 1.2.0 على هذه المراجعات.

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

يجب استخدام هذا الإصدار إذا كنت تستهدف المستوى 29 لواجهة برمجة التطبيقات. وإلّا، لن تعمل بعض الانتقالات بشكلٍ سليم. بدلاً من طلبات فحص البيانات، يستخدم هذا الإصدار الطرق العامة الجديدة التي تمت إضافتها في المستوى 29 لواجهة برمجة التطبيقات. ويشكّل ذلك جزءًا من جهودنا لفرض قيود على استخدام واجهات غير متوفرة في حزمة SDK.

الإصدار 1.2.0-rc01

5 أيلول (سبتمبر) 2019

تم طرح الإصدار androidx.transition:transition:1.2.0-rc01 بدون أي تغييرات منذ الإصدار 1.2.0-beta01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

الإصدار 1.2.0-beta01

2 تموز (يوليو) 2019

تم إصدار androidx.transition:transition:1.2.0-beta01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

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

  • يجب استخدام هذا الإصدار إذا كنت تحدّد 29 كقيمة targetSdkVersion. وإلّا، لن تعمل بعض الانتقالات بشكلٍ سليم. بدلاً من طلبات فحص البيانات، يستخدم هذا الإصدار الطرق العامة الجديدة التي تمت إضافتها في المستوى 29 لواجهة برمجة التطبيقات. ويشكّل ذلك جزءًا من جهودنا لفرض قيود على استخدام واجهات غير متوفرة في حزمة SDK.

الإصدار 1.2.0-alpha01

7 أيار (مايو) 2019

تم إصدار androidx.transition:transition:1.2.0-alpha01.

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

  • يجب استخدام هذا الإصدار إذا كنت تحدّد Q على أنّه targetSdkVersion. وإلّا، لن تعمل بعض الانتقالات بشكلٍ سليم. بدلاً من طلبات فحص البيانات، يستخدم هذا الإصدار الطرق العامة الجديدة التي تمت إضافتها في Q. ويشكّل ذلك جزءًا من جهودنا لفرض قيود على استخدام واجهات غير متوفرة في حزمة SDK.

الإصدار 1.1.0

الإصدار 1.1.0

2 تموز (يوليو) 2019

تم طرح الإصدار androidx.transition:transition:1.1.0 بدون أي تغييرات من الإصدار 1.1.0-rc02. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

الإصدار 1.1.0-rc02

5 حزيران (يونيو) 2019

تم إصدار androidx.transition:transition:1.1.0-rc02. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

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

  • تم إصلاح مشكلة في TransitionManager.endTransitions() لكي تعمل بشكل صحيح مع الانتقالات المشروطة. (aosp/946400)

الإصدار 1.1.0-rc01

7 أيار (مايو) 2019

تم إصدار androidx.transition:transition:1.1.0-rc01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

الإصدار 1.1.0-beta01

3 نيسان (أبريل) 2019

تم إصدار androidx.transition:transition:1.1.0-beta01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

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

  • تم إصلاح خطأ ViewGroupOverlay في ذاكرة التخزين المؤقت في Visibility، والذي يحدث في المستوى 17 من واجهة برمجة التطبيقات والإصدارات الأقدم (aosp/937350)

الإصدار 1.1.0-alpha02

13 آذار (مارس) 2019

تم إصدار androidx.transition:transition:1.1.0-alpha02. يمكن العثور على القائمة الكاملة للتغييرات المضمّنة في هذا الإصدار هنا.

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

  • تم تغيير نوع مَعلمة الطريقة Scene.getCurrentScene() من View إلى ViewGroup.

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

  • لا تعمل SidePropagation عند تقديم تأخير إضافي من خلال setStartDelay() (b/119839526).
  • ChangeImageTransform تطبّق مصفوفة غير صحيحة عند انقطاع الاتصال قبل الإصدار 21 من واجهة برمجة التطبيقات (b/123226255).
  • لا تعمل ChangeTransform بشكل صحيح في بعض الحالات قبل الإصدار 21 من واجهة برمجة التطبيقات (b/125777978).

الإصدار 1.1.0-alpha01

3 كانون الأول (ديسمبر) 2018

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

  • aosp/807055: تم إتاحة طريقة Scene.getCurrentScene(View) للجميع. ويسمح لك بكتابة منطق شرطي مخصّص استنادًا إلى مشهد حالي.

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

  • تم إصلاح عطل كان يحدث عند استخدام TransitionManager لتصغير/توسيع عنصر في RecyclerView (b/37129527).
  • تم إصلاح الرسوم المتحركة غير الصحيحة عند تطبيق انتقالَين لمستوى الظهور (b/62629600).
  • السماح بإلغاء القيم، مثل المدة والمحوِّل الزمني، لعناصر TransitionSet (b/64644617)
  • تم إصلاح العديد من الأخطاء البسيطة الأخرى.