Transition

Animez des mouvements dans l'interface utilisateur avec des mises en page de début et de fin.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
11 décembre 2024 1.5.1 - - 1.6.0-alpha01

Déclarer des dépendances

Pour ajouter une dépendance à Transition, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

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")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.6

Version 1.6.0-alpha01

11 décembre 2024

Publication d'androidx.transition:transition:1.6.0-alpha01 et d'androidx.transition:transition-ktx:1.6.0-alpha01. La version 1.6.0-alpha01 contient ces commits.

Nouvelles fonctionnalités

  • La transition définit désormais le parent disjoint pour ViewOverlays utilisé pour animer ses transitions. Cela permet de résoudre les propriétaires via le parent disjoint, ce qui signifie que vous pouvez désormais résoudre correctement ViewModels, les cycles de vie, etc. lors d'une transition. (I10a16, b/340894487, b/287484338)

Correction de bugs

  • Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont des annotations de type. Les développeurs Kotlin doivent utiliser les arguments de compilation suivants pour appliquer une utilisation correcte: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I1f54e, b/326456246).
  • Suppression de la description manuelle de l'accès aux nouvelles API de la plate-forme, car cela se produit automatiquement via la modélisation d'API lorsque vous utilisez R8 avec AGP 7.3 ou version ultérieure (par exemple, R8 version 3.3) et pour tous les builds lorsque vous utilisez AGP 8.1 ou version ultérieure (par exemple, D8 version 8.1). Les clients qui n'utilisent pas AGP sont invités à passer à la version 8.1 de D8 ou ultérieure. Consultez cet article pour en savoir plus. (Ia60e0, b/345472586)

Version 1.5

Version 1.5.1

24 juillet 2024

Publication d'androidx.transition:transition:1.5.1 et d'androidx.transition:transition-ktx:1.5.1. La version 1.5.1 contient ces commits.

Correction de bugs

  • Correction d'un problème qui entraînait l'ignorement des appels à animateToStart() ou animateToEnd() sur une transition pouvant être rembobinée si la transition n'était pas lancée. (I44d96, b/338624457)

Version 1.5.0

1er mai 2024

Publication d'androidx.transition:transition:1.5.0 et d'androidx.transition:transition-ktx:1.5.0. La version 1.5.0 contient ces commits.

Changements importants depuis la version 1.4.0

  • Les transitions sont compatibles avec la recherche sur l'API 34 et les versions ultérieures. Une nouvelle API a été ajoutée à TransitionManager, controlDelayedTransition(), qui renvoie un TransitionSeekController permettant de rechercher le Transition. Cette fonctionnalité est utilisée par Fragment 1.7.0 pour rechercher automatiquement des transitions lorsque vous utilisez le geste Retour prédictif.
  • Les transitions disposent d'une nouvelle méthode, getRootTransition(), qui renvoie la transition contenant la transition actuelle ou la transition actuelle si elle n'est contenue par aucune autre transition. Cela peut s'avérer utile si le développeur doit disposer d'écouteurs pour le début ou la fin de la transition.
  • TransitionListeners dispose désormais de nouveaux écouteurs onTransitionStart() et onTransitionEnd() qui permettent au développeur de savoir si la transition commence ou se termine en marche arrière ou non. Cela peut être important pour développer des transitions pouvant être recherchées qui ont TransitionListeners.

Version 1.5.0-rc02

17 avril 2024

Publication d'androidx.transition:transition:1.5.0-rc02 et d'androidx.transition:transition-ktx:1.5.0-rc02. La version 1.5.0-rc02 contient ces commits.

Mise à jour de la dépendance

  • Mise à jour de la dépendance Fragment vers la version 1.7.0-rc02, qui corrige un bug qui entraînait un plantage si un élément partagé non cliquable était ajouté à une transaction où toutes les autres transitions étaient cliquables.

Version 1.5.0-rc01

3 avril 2024

Publication d'androidx.transition:transition:1.5.0-rc01 et d'androidx.transition:transition-ktx:1.5.0-rc01. La version 1.5.0-rc01 contient ces commits.

Version 1.5.0-beta01

20 mars 2024

Publication d'androidx.transition:transition:1.5.0-beta01 et d'androidx.transition:transition-ktx:1.5.0-beta01. La version 1.5.0-beta01 contient ces commits.

Correction de bugs

  • Correction d'un problème dans les fragments qui entraînait la destruction de la vue entrante en cas d'interruption des transitions entrantes avec un geste de prévisualisation du Retour, ce qui pouvait entraîner un écran vide. (Id3f22, b/319531491)

Version 1.5.0-alpha06

10 janvier 2024

Publication d'androidx.transition:transition:1.5.0-alpha06 et d'androidx.transition:transition-ktx:1.5.0-alpha06. Liste des commits de la version 1.5.0-alpha06

Correction de bugs

  • Lorsque TransitionSeekController.animateToStart() est utilisé, onTransitionEnd() est désormais appelé après l'Runnable de animateToStart() pour les TransitionListeners ajoutés. (Ic6a55, b/307624554)

Mise à jour de la dépendance

  • La dépendance de Fragment a été mise à jour vers 1.7.0-alpha08.

Version 1.5.0-alpha05

29 novembre 2023

Publication d'androidx.transition:transition:1.5.0-alpha05 et d'androidx.transition:transition-ktx:1.5.0-alpha05. Liste des commits de la version 1.5.0-alpha05

Correction de bugs

  • Correction d'une NullPointerException causée par la définition d'une transition d'élément partagé et l'échec de la définition d'un enter/exitTransition. (I8472b)
  • Correction d'un problème qui empêchait animateToStart() avec Slide() de remettre la vue à sa position de départ. (I698f4, b/300157785)
  • Correction du problème de réentrée dans la transition qui entraînait l'échec de l'annulation. (Iddcce, b/308379201)

Version 1.5.0-alpha04

4 octobre 2023

androidx.transition:transition:1.5.0-alpha04 et androidx.transition:transition-ktx:1.5.0-alpha04 sont publiés. Liste des commits de la version 1.5.0-alpha04

Modifications apportées à l'API

  • Modification destructive : la méthode animateToStart() accepte désormais un Runnable qui doit être utilisé pour rétablir l'état d'origine des vues en transition.

Version 1.5.0-alpha03

20 septembre 2023

Publication d'androidx.transition:transition:1.5.0-alpha03 et d'androidx.transition:transition-ktx:1.5.0-alpha03. Liste des commits de la version 1.5.0-alpha03

Nouvelles fonctionnalités

  • La transition est désormais compatible avec les animations de prévisualisation du Retour dans l'application sur les appareils Android 14 lorsqu'elle est utilisée avec Fragment 1.7.0-alpha05.

Correction de bugs

  • Correction d'un bug qui entraînait l'interruption de la transition de diapositive. Lorsqu'une transition de diapositive interrompait une transition d'entrée pour supprimer une vue, elle sautait à une position incorrecte. (I946f8, b/297427333)

Version 1.5.0-alpha02

6 septembre 2023

Publication d'androidx.transition:transition:1.5.0-alpha02 et d'androidx.transition:transition-ktx:1.5.0-alpha02. Liste des commits de la version 1.5.0-alpha02

Nouvelles fonctionnalités

  • TransitionSeekController vous permet désormais de définir la progression sous la forme d'une fraction de la durée totale via setCurrentFragment(). (aosp/2647607)
  • TransitionSeekController permet désormais d'observer la progression lors de l'utilisation de animateToStart() et animateToEnd() en appelant addOnProgressChangedListener. (aosp/2647607)
  • Ajout de TransitionManager.seekTo() pour permettre l'utilisation de scènes pour les transitions de recherche. (aosp/2647607)
  • Ajout d'animations basées sur la physique aux transitions de recherche. Il utilise un traceur de vitesse 1D pour suivre l'évolution de la progression avec setCurrentFraction() ou setCurrentPlayTimeMillis(), et l'utilise pour la vitesse initiale de animateToStart et animateToEnd. (aosp/2647607)

Correction de bugs

  • Correction d'un scintillement lors de la recherche d'une AutoTransition. (aosp/2643369)
  • Correction d'un problème qui entraînait le saut d'une transition Slide vers la mauvaise position de départ en cas d'interruption. (aosp/2733729, b/297427333)

Mise à jour de la dépendance

  • La transition se compile désormais avec l'API 34.

Version 1.5.0-alpha01

10 mai 2023

Publication d'androidx.transition:transition:1.5.0-alpha01 et d'androidx.transition:transition-ktx:1.5.0-alpha01. Cette version est développée dans une branche interne.

Nouvelles fonctionnalités

  • Les transitions sont compatibles avec la recherche sur l'API 34 et les versions ultérieures. Une nouvelle API a été ajoutée à TransitionManager, controlDelayedTransition(), qui renvoie un TransisionSeekController permettant de rechercher la transition.

Modifications apportées à l'API

  • TransitionManager dispose d'une nouvelle méthode, controlDelayedTransition(), qui permet aux applications de contrôler la progression des animations de transition avec l'API 34 ou version ultérieure. La TransitionSeekController renvoyée indique au développeur quand la transition est prête à être recherchée, la durée de l'animation et permet de définir l'heure actuelle de l'animation. Seules les transitions qui remplacent isSeekable() pour renvoyer "true" sont acceptées par controlDelayedTransition().
  • Les transitions disposent d'une nouvelle méthode, getRootTransition(), qui renvoie la transition contenant la transition actuelle ou la transition actuelle si elle n'est contenue par aucune autre transition. Cela peut s'avérer utile si le développeur doit disposer d'écouteurs pour le début ou la fin de la transition.
  • TransitionListeners dispose désormais de nouveaux écouteurs onTransitionStart() et onTransitionEnd() qui permettent au développeur de savoir si la transition commence ou se termine en marche arrière ou non. Cela peut être important pour développer des transitions pouvant être recherchées qui ont TransitionListeners.

Correction de bugs

  • Les transitions copient désormais leur TransitionListeners lorsqu'elles sont clonées. Cela signifie que l'ajout de nouveaux écouteurs pendant createAnimator() n'affectera pas la transition racine.

Version 1.4.1

Version 1.4.1

21 avril 2021

Publication d'androidx.transition:transition:1.4.1 et androidx.transition:transition-ktx:1.4.1. Liste des commits de la version 1.4.1

Corrections de bugs

  • Correction d'un problème pour lequel le démarrage d'une Transition dans un conteneur mettait par inadvertance en pause les autres transitions en cours d'exécution dans des conteneurs distincts, ce qui empêchait les autres transitions de se terminer (aosp/1664439, b/182845041)

Version 1.4.0

Version 1.4.0

27 janvier 2021

Publication d'androidx.transition:transition:1.4.0 et androidx.transition:transition-ktx:1.4.0. Liste des commits de la version 1.4.0

Principales modifications depuis la version 1.3.0

  • L'artefact transition-ktx introduit des extensions Kotlin permettant d'ajouter des écouteurs aux instances Transition d'AndroidX. (b/138870873)

Version 1.4.0-rc01

2 décembre 2020

Publication d'androidx.transition:transition:1.4.0-rc01 et androidx.transition:transition-ktx:1.4.0-rc01 sans aucune modification par rapport à la version 1.4.0-beta01. Liste des commits de la version 1.4.0-rc01

Version 1.4.0-beta01

22 juillet 2020

Publication d'androidx.transition:transition:1.4.0-beta01 et androidx.transition:transition-ktx:1.4.0-beta01 sans aucune modification par rapport à la version 1.4.0-alpha01. Liste des commits de la version 1.4.0-beta01

Version 1.4.0-alpha01

24 juin 2020

Publication d'androidx.transition:transition:1.4.0-alpha01 et androidx.transition:transition-ktx:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01

Nouvelles fonctionnalités

  • L'artefact transition-ktx introduit des extensions Kotlin permettant d'ajouter des écouteurs aux instances Transition d'AndroidX. (b/138870873)

Version 1.3.1

Version 1.3.1

19 février 2020

Publication d'androidx.transition:transition:1.3.1. Liste des commits de la version 1.3.1

Corrections de bugs

  • Correction d'un bug pour lequel certaines vues animées étaient mal tronquées lorsque ChangeTransform était utilisé (b/148798452)

Version 1.3.0

Version 1.3.0

22 janvier 2020

Publication d'androidx.transition:transition:1.3.0. Liste des commits de la version 1.3.0

Modifications importantes depuis la version 1.2.0

  • Améliorations pour Fragment 1.2.0 : amélioration de l'intégration avec Fragment 1.2.0 afin de s'assurer que la vue de Fragment n'est pas détruite avant la fin de la transition et que les transitions sont annulées au moment approprié

Version 1.3.0-rc02

4 décembre 2019

Publication d'androidx.transition:transition:1.3.0-rc02. Liste des commits de la version 1.3.0-rc02

Corrections de bugs

  • Correction d'un problème pour lequel des vues étaient marquées comme INVISIBLE par erreur après l'affichage d'un fragment masqué. (b/70793925)

Version 1.3.0-rc01

23 octobre 2019

Publication d'androidx.transition:transition:1.3.0-rc01 sans aucune modification par rapport à la version 1.3.0-beta01. Liste des commits de la version 1.3.0-rc01

Version 1.3.0-beta01

9 octobre 2019

Publication d'androidx.transition:transition:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Nouvelles fonctionnalités

  • Amélioration de l'intégration avec Fragment 1.2.0-beta01 afin de s'assurer que la vue de Fragment n'est pas détruite avant la fin de la transition et que les transitions sont annulées au moment approprié. (aosp/1119841)

Version 1.2.0

Version 1.2.0

9 octobre 2019

Publication d'androidx.transition:transition:1.2.0 sans aucune modification par rapport à la version 1.2.0-rc01. Liste des commits de la version 1.2.0

Changements importants depuis la version 1.1.0

Utilisez cette version si vous ciblez le niveau d'API 29. Sinon, certaines des transitions ne fonctionneront pas correctement. Au lieu des appels de réflexion, cette version utilise les nouvelles méthodes publiques ajoutées au niveau d'API 29. Cela fait partie de nos efforts de restriction concernant les interfaces autres que SDK.

Version 1.2.0-rc01

5 septembre 2019

Publication d'androidx.transition:transition:1.2.0-rc01 sans aucune modification par rapport à la version 1.2.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.

Version 1.2.0-beta01

2 juillet 2019

Publication d'androidx.transition:transition:1.2.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • Utilisez cette version si vous spécifiez la targetSdkVersion 29. Sinon, certaines des transitions ne fonctionneront pas correctement. Au lieu des appels de réflexion, cette version utilise les nouvelles méthodes publiques ajoutées au niveau d'API 29. Cela fait partie de nos efforts de restriction concernant les interfaces autres que SDK.

Version 1.2.0-alpha01

7 mai 2019

Publication d'androidx.transition:transition:1.2.0-alpha01.

Nouvelles fonctionnalités

  • Utilisez cette version si vous spécifiez la targetSdkVersion Q. Sinon, certaines des transitions ne fonctionneront pas correctement. Au lieu des appels de réflexion, cette version utilise les nouvelles méthodes publiques ajoutées à la version Q. Cela fait partie de nos efforts de restriction concernant les interfaces autres que SDK.

Version 1.1.0

Version 1.1.0

2 juillet 2019

Publication d'androidx.transition:transition:1.1.0 sans aucune modification par rapport à la version 1.1.0-rc02. Les commits inclus dans cette version sont disponibles sur cette page.

Version 1.1.0-rc02

5 juin 2019

Publication d'androidx.transition:transition:1.1.0-rc02. Les commits inclus dans cette version sont disponibles sur cette page.

Corrections de bugs

  • Correction pour que TransitionManager.endTransitions() fonctionne correctement avec les transitions dépendantes. (aosp/946400)

Version 1.1.0-rc01

7 mai 2019

Publication d'androidx.transition:transition:1.1.0-rc01. Les commits inclus dans cette version sont disponibles sur cette page.

Version 1.1.0-beta01

3 avril 2019

Publication d'androidx.transition:transition:1.1.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.

Corrections de bugs

  • Correction d'un bug de mise en cache de ViewGroupOverlay dans Visibility, survenant au niveau d'API 17 ou inférieur (aosp/937350)

Version 1.1.0-alpha02

13 mars 2019

Publication d'androidx.transition:transition:1.1.0-alpha02. La liste complète des commits inclus dans cette version est disponible sur cette page.

Modifications apportées à l'API

  • Le type du paramètre de méthode de Scene.getCurrentScene() est passé de View à ViewGroup.

Corrections de bugs

  • SidePropagation ne fonctionne pas si un délai supplémentaire est fourni via setStartDelay() (b/119839526).
  • ChangeImageTransform applique une matrice incorrecte lorsqu'elle est interrompue dans une version antérieure à l'API 21 (b/123226255).
  • ChangeTransform ne fonctionne pas correctement dans certains cas avant l'API 21 (b/125777978).

Version 1.1.0-alpha01

3 décembre 2018

Modifications apportées à l'API

  • aosp/807055 : méthode Scene.getCurrentScene(View) rendue publique. Elle vous permet d'écrire une logique conditionnelle personnalisée en fonction d'une scène en cours.

Corrections de bugs

  • Résolution du plantage qui survenait lors de l'utilisation de TransitionManager pour réduire/développer un élément dans RecyclerView (b/37129527)
  • Correction de l'animation incorrecte lorsque deux transitions de visibilité étaient appliquées (b/62629600).
  • Autorisation des valeurs de remplacement telles que la durée et l'interpolateur pour les enfants de TransitionSet (b/64644617)
  • Correction de nombreux autres bugs mineurs