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
24 juillet 2024 1.5.1 - - -

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.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 lors de l'utilisation de la prévisualisation du geste Retour.
  • 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 de Fragment vers la version 1.7.0-rc02. Correction d'un bug qui provoquait un plantage si un élément partagé ne pouvant pas être recherché était ajouté à une transaction où toutes les autres transitions pouvaient être trouvées.

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 où l'interruption des transitions entrantes avec la prévisualisation du geste Retour détruisait la vue entrante, laissant potentiellement 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().TransitionListeners (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 par l'échec de la définition d'une 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'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 du bug d'interruption de la transition entre les diapositives. 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 lorsque vous utilisez 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 outil de suivi de la vitesse unidimensionnel 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 renvoi d'une transition Slide à 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 ignorent isSeekable() pour renvoyer la valeur "true" sont prises en charge 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