Transition
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.
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 correctementViewModels
, 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()
ouanimateToEnd()
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 unTransitionSeekController
permettant de rechercher leTransition
. 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 écouteursonTransitionStart()
etonTransitionEnd()
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 ontTransitionListeners
.
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
deanimateToStart()
pour lesTransitionListeners
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'unenter/exitTransition
. (I8472b) - Correction d'un problème qui empêchait
animateToStart()
avecSlide()
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 unRunnable
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 viasetCurrentFragment()
. (aosp/2647607)TransitionSeekController
permet désormais d'observer la progression lors de l'utilisation deanimateToStart()
etanimateToEnd()
en appelantaddOnProgressChangedListener
. (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()
ousetCurrentPlayTimeMillis()
, et l'utilise pour la vitesse initiale deanimateToStart
etanimateToEnd
. (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 unTransisionSeekController
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. LaTransitionSeekController
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 remplacentisSeekable()
pour renvoyer "true" sont acceptées parcontrolDelayedTransition()
.- 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 écouteursonTransitionStart()
etonTransitionEnd()
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 ontTransitionListeners
.
Correction de bugs
- Les transitions copient désormais leur
TransitionListeners
lorsqu'elles sont clonées. Cela signifie que l'ajout de nouveaux écouteurs pendantcreateAnimator()
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 instancesTransition
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 instancesTransition
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
dansVisibility
, 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é deView
àViewGroup
.
Corrections de bugs
SidePropagation
ne fonctionne pas si un délai supplémentaire est fourni viasetStartDelay()
(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 dansRecyclerView
(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