Transition
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| July 30, 2025 | 1.6.0 | - | - | 1.7.0-alpha01 |
Declaring dependencies
To add a dependency on Transition, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for
your app or module:
Groovy
dependencies { // Java language implementation implementation "androidx.transition:transition:1.6.0" // Kotlin implementation "androidx.transition:transition-ktx:1.6.0" }
Kotlin
dependencies { // Java language implementation implementation("androidx.transition:transition:1.6.0") // Kotlin implementation("androidx.transition:transition-ktx:1.6.0") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.7
Version 1.7.0-alpha01
July 30, 2025
androidx.transition:transition:1.7.0-alpha01 and androidx.transition:transition-ktx:1.7.0-alpha01 are released. Version 1.7.0-alpha01 contains these commits.
Bug Fixes
- Fixed crash happening when the View is attached to a Window with a null
windowId. (I2ddf6)
Version 1.6
Version 1.6.0
April 23, 2025
androidx.transition:transition:1.6.0 and androidx.transition:transition-ktx:1.6.0 are released. Version 1.6.0 contains these commits.
Version 1.6.0-rc01
March 26, 2025
androidx.transition:transition:1.6.0-rc01 and androidx.transition:transition-ktx:1.6.0-rc01 are released. Version 1.6.0-rc01 contains these commits.
Version 1.6.0-beta01
March 12, 2025
androidx.transition:transition:1.6.0-beta01 and androidx.transition:transition-ktx:1.6.0-beta01 are released with no changes since the last alpha. Version 1.6.0-beta01 contains these commits.
Version 1.6.0-alpha01
December 11, 2024
androidx.transition:transition:1.6.0-alpha01 and androidx.transition:transition-ktx:1.6.0-alpha01 are released. Version 1.6.0-alpha01 contains these commits.
New Features
- Transition now sets the disjoint parent for
ViewOverlaysused to animate its transitions. This allows for the resolution of owners through the disjoint parent, which means you can now correctly resolveViewModels, lifecycles, etc. during a transition. (I10a16, b/340894487, b/287484338)
Bug Fixes
- This library now uses JSpecify nullness annotations, which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler). (I1f54e, b/326456246) - Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (e.g. R8 version 3.3) and for all builds when using AGP 8.1 or later (e.g. D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. (Ia60e0, b/345472586)
Version 1.5
Version 1.5.1
July 24, 2024
androidx.transition:transition:1.5.1 and androidx.transition:transition-ktx:1.5.1 are released. Version 1.5.1 contains these commits.
Bug Fixes
- Fixed an issue where calls to
animateToStart()oranimateToEnd()on a seekable transition would be ignored if the transition was not started. (I44d96, b/338624457)
Version 1.5.0
May 1, 2024
androidx.transition:transition:1.5.0 and androidx.transition:transition-ktx:1.5.0 are released. Version 1.5.0 contains these commits.
Important changes since 1.4.0
- Transitions support seeking on API 34 and above. A new API was added to
TransitionManager,controlDelayedTransition(), which returns aTransitionSeekControllerthat allows seeking theTransition. This functionality is used by Fragment 1.7.0 to automatically seek transitions when using the Predictive Back Gesture. - Transitions have a new method,
getRootTransition(), that returns the Transition containing the current Transition or the current Transition if it isn't contained by any other Transition. This can be useful if the developer needs to have listeners for when the entire Transition starts or ends. TransitionListenersnow have newonTransitionStart()andonTransitionEnd()listeners that allow the developer to know whether the transition is starting or ending going in reverse or not. This can be important for developing seekable transitions that haveTransitionListeners.
Version 1.5.0-rc02
April 17, 2024
androidx.transition:transition:1.5.0-rc02 and androidx.transition:transition-ktx:1.5.0-rc02 are released. Version 1.5.0-rc02 contains these commits.
Dependency Update
- Updated Fragment dependency to version 1.7.0-rc02 which fixed a bug where if a non-seekable shared element was added to a transaction where all other transitions were seekable, there would be a crash.
Version 1.5.0-rc01
April 3, 2024
androidx.transition:transition:1.5.0-rc01 and androidx.transition:transition-ktx:1.5.0-rc01 are released. Version 1.5.0-rc01 contains these commits.
Version 1.5.0-beta01
March 20, 2024
androidx.transition:transition:1.5.0-beta01 and androidx.transition:transition-ktx:1.5.0-beta01 are released. Version 1.5.0-beta01 contains these commits.
Bug Fixes
- Fixed an issue in Fragments where interrupting incoming transitions with a Predictive back gesture would destroy the entering view, potentially leaving a blank screen. (Id3f22, b/319531491)
Version 1.5.0-alpha06
January 10, 2024
androidx.transition:transition:1.5.0-alpha06 and androidx.transition:transition-ktx:1.5.0-alpha06 are released. Version 1.5.0-alpha06 contains these commits.
Bug Fixes
- When
TransitionSeekController.animateToStart()is used, addedTransitionListenerswill now haveonTransitionEnd()called after theanimateToStart()'s givenRunnable. (Ic6a55, b/307624554)
Dependency Update
- The Fragment dependency has been updated to
1.7.0-alpha08.
Version 1.5.0-alpha05
November 29, 2023
androidx.transition:transition:1.5.0-alpha05 and androidx.transition:transition-ktx:1.5.0-alpha05 are released. Version 1.5.0-alpha05 contains these commits.
Bug Fixes
- Fixed a
NullPointerExceptioncaused by setting a shared element transition and failing to set anenter/exitTransitionas well. (I8472b) - Fixed issue where
animateToStart()withSlide()failed to move the View back to the start position (I698f4, b/300157785) - Fixed reentrancy problem in Transition which broke cancellation. (Iddcce, b/308379201)
Version 1.5.0-alpha04
October 4, 2023
androidx.transition:transition:1.5.0-alpha04 and `androidx.transition:transition-ktx:1.5.0-alpha04 are released. Version 1.5.0-alpha04 contains these commits.
API Changes
- Breaking Change - The
animateToStart()method now takes aRunnablethat should be used to return the transitioning views back to their original state.
Version 1.5.0-alpha03
September 20, 2023
androidx.transition:transition:1.5.0-alpha03 and androidx.transition:transition-ktx:1.5.0-alpha03 are released. Version 1.5.0-alpha03 contains these commits.
New Features
- Transition now provides support for in-app Predictive Back animations on Android 14 devices when used with Fragment
1.7.0-alpha05.
Bug Fixes
- Fixed Slide Transition interruption bug. When a Slide Transition interrupted an entering transition to remove a View, it would jump to an incorrect position. (I946f8, b/297427333)
Version 1.5.0-alpha02
September 6, 2023
androidx.transition:transition:1.5.0-alpha02 and androidx.transition:transition-ktx:1.5.0-alpha02 are released. Version 1.5.0-alpha02 contains these commits.
New Features
TransitionSeekControllernow allows you to set the progress as a fraction of the total duration viasetCurrentFragment(). (aosp/2647607)TransitionSeekControllernow allows observing progress when usinganimateToStart()andanimateToEnd()by callingaddOnProgressChangedListener. (aosp/2647607)- Added
TransitionManager.seekTo()to allow using Scenes for seeking Transitions. (aosp/2647607) - Added physics-based animations to seeking transitions. It uses a 1-D velocity tracker to track the progress change with
setCurrentFraction()orsetCurrentPlayTimeMillis()and uses it for the initial velocity ofanimateToStartandanimateToEnd. (aosp/2647607)
Bug Fixes
- Fixed a flicker when seeking an
AutoTransition. (aosp/2643369) - Fixed an issue where a
Slidetransition would jump to the wrong starting position when interrupted. (aosp/2733729, b/297427333)
Dependency Update
- Transition now compiles with API 34.
Version 1.5.0-alpha01
May 10, 2023
androidx.transition:transition:1.5.0-alpha01 and androidx.transition:transition-ktx:1.5.0-alpha01 are released. This version is developed in an internal branch.
New Features
- Transitions support seeking on API 34 and above. A new API was added to
TransitionManager,controlDelayedTransition(), which returns aTransisionSeekControllerthat allows seeking the Transition.
API Changes
TransitionManagerhas a new method,controlDelayedTransition(), that allows applications to control the progress of transition animations on API 34+. The returnedTransitionSeekControllerlets the developer know when the transition is ready for seeking, the duration of the animation, and allows setting the current time of the animation. Only Transitions that overrideisSeekable()to return true are supported bycontrolDelayedTransition().- Transitions have a new method,
getRootTransition(), that returns the Transition containing the current Transition or the current Transition if it isn't contained by any other Transition. This can be useful if the developer needs to have listeners for when the entire Transition starts or ends. TransitionListenersnow have newonTransitionStart()andonTransitionEnd()listeners that allow the developer to know whether the transition is starting or ending going in reverse or not. This can be important for developing seekable transitions that haveTransitionListeners.
Bug Fixes
- Transitions now copy their
TransitionListenerswhen they are cloned. This means that adding new listeners duringcreateAnimator()will not affect the root Transition.
Version 1.4.1
Version 1.4.1
April 21, 2021
androidx.transition:transition:1.4.1 and androidx.transition:transition-ktx:1.4.1 are released. Version 1.4.1 contains these commits.
Bug Fixes
- Fixed an issue where starting a
Transitionin one container would inadvertently pause other running transitions in separate containers, causing those other transitions to never finish. (aosp/1664439, b/182845041)
Version 1.4.0
Version 1.4.0
January 27, 2021
androidx.transition:transition:1.4.0 and androidx.transition:transition-ktx:1.4.0 are released. Version 1.4.0 contains these commits.
Major changes since 1.3.0
- The
transition-ktxartifact introduces Kotlin extensions for adding listeners to AndroidXTransitioninstances. (b/138870873)
Version 1.4.0-rc01
December 2, 2020
androidx.transition:transition:1.4.0-rc01 and androidx.transition:transition-ktx:1.4.0-rc01 are released with no changes from 1.4.0-beta01. Version 1.4.0-rc01 contains these commits.
Version 1.4.0-beta01
July 22, 2020
androidx.transition:transition:1.4.0-beta01 and androidx.transition:transition-ktx:1.4.0-beta01 are released with no changes since 1.4.0-alpha01. Version 1.4.0-beta01 contains these commits.
Version 1.4.0-alpha01
June 24, 2020
androidx.transition:transition:1.4.0-alpha01 and androidx.transition:transition-ktx:1.4.0-alpha01 are released. Version 1.4.0-alpha01 contains these commits.
New Features
- The
transition-ktxartifact introduces Kotlin extensions for adding listeners to AndroidXTransitioninstances. (b/138870873)
Version 1.3.1
Version 1.3.1
February 19, 2020
androidx.transition:transition:1.3.1 is released. Version 1.3.1 contains these commits.
Bug Fixes
- Fixed bug when some animated Views were incorrectly clipped when ChangeTransform is used (b/148798452)
Version 1.3.0
Version 1.3.0
January 22, 2020
androidx.transition:transition:1.3.0 is released. Version 1.3.0 contains these commits.
Important changes since 1.2.0
- Improvements for Fragment 1.2.0: Improved the integration with Fragment 1.2.0 to ensure that the Fragment’s View is not destroyed before the transition completes and that transitions are cancelled at the appropriate time
Version 1.3.0-rc02
December 4, 2019
androidx.transition:transition:1.3.0-rc02 is released. Version 1.3.0-rc02 contains these commits.
Bug fixes
- Fixed an issue where Views were incorrectly marked
INVISIBLEafter popping a hidden Fragment. (b/70793925)
Version 1.3.0-rc01
October 23, 2019
androidx.transition:transition:1.3.0-rc01 is released with no changes since 1.3.0-beta01. Version 1.3.0-rc01 contains these commits.
Version 1.3.0-beta01
October 9, 2019
androidx.transition:transition:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
New features
- Improved the integration with Fragment
1.2.0-beta01to ensure that the Fragment’s View is not destroyed before the transition completes and that transitions are cancelled at the appropriate time. (aosp/1119841)
Version 1.2.0
Version 1.2.0
October 9, 2019
androidx.transition:transition:1.2.0 is released with no changes from 1.2.0-rc01 . Version 1.2.0 contains these commits.
Important changes since version 1.1.0
This version should be used if you're targeting API level 29. Otherwise, some of the transitions will not work properly. Instead of the reflection calls, this version uses the new public methods added in API Level 29. It is a part of our restrictions on non-SDK interfaces effort.
Version 1.2.0-rc01
September 5, 2019
androidx.transition:transition:1.2.0-rc01 is released with no changes since version 1.2.0-beta01. The commits included in this version can be found here.
Version 1.2.0-beta01
July 2, 2019
androidx.transition:transition:1.2.0-beta01 is released. The commits included in this version can be found here.
New features
- This version should be used if you are specifying 29 as a
targetSdkVersion. Otherwise, some of the transitions will not work properly. Instead of the reflection calls, this version uses the new public methods added in API Level 29. It is a part of our restrictions on non-SDK interfaces effort.
Version 1.2.0-alpha01
May 7, 2019
androidx.transition:transition:1.2.0-alpha01 is released.
New features
- This version should be used if you are specifying Q as a
targetSdkVersion. Otherwise, some of the transitions will not work properly. Instead of the reflection calls, this version uses the new public methods added in Q. It is a part of our restrictions on non-SDK interfaces effort.
Version 1.1.0
Version 1.1.0
July 2, 2019
androidx.transition:transition:1.1.0 is released with no changes from 1.1.0-rc02. The commits included in this version can be found here.
Version 1.1.0-rc02
June 5, 2019
androidx.transition:transition:1.1.0-rc02 is released. The commits included in this version can be found here.
Bug fixes
- Fix for
TransitionManager.endTransitions()to correctly work with dependent transitions. (aosp/946400)
Version 1.1.0-rc01
May 7, 2019
androidx.transition:transition:1.1.0-rc01 is released. The commits included in this version can be found here.
Version 1.1.0-beta01
April 3, 2019
androidx.transition:transition:1.1.0-beta01 is released. The commits included in this version can be found here.
Bug fixes
- Fixed
ViewGroupOverlaycaching bug inVisibility, occurring on API Level 17 and lower (aosp/937350)
Version 1.1.0-alpha02
March 13, 2019
androidx.transition:transition:1.1.0-alpha02 is released. The full list of commits included in this version can be found here.
API changes
- The method parameter’s type of
Scene.getCurrentScene()was changed fromViewtoViewGroup.
Bug fixes
SidePropagationdoesn’t work when an additional delay provided viasetStartDelay()(b/119839526).ChangeImageTransformapplies wrong matrix when interrupted before API 21 (b/123226255).ChangeTransformworks incorrectly in some cases before API 21 (b/125777978).
Version 1.1.0-alpha01
December 3, 2018
API changes
- aosp/807055:
Scene.getCurrentScene(View)method made public. It allows you to write a custom conditional logic depending on a current scene.
Bug fixes
- Fixed crash when using
TransitionManagerto collapse/expand item inRecyclerView(b/37129527). - Fixed incorrect animation when two Visibility transitions applied (b/62629600).
- Allow override values like duration and interpolator for TransitionSet’s children (b/64644617).
- Many other minor bugs fixed.