/Transitions-Everywhere

Set of extra Transitions on top of Jetpack Transitions Library

Primary LanguageJavaApache License 2.0Apache-2.0

Transitions Everywhere

Set of extra Transitions on top of AndroidX Transitions Library.

About

Article about transitions and library
Originally this library was a full backport of Android Platform's Transitions API.
Then all the bug fixes from the library were ported into AndroidX Transitions (previously Support library).
Now this lib has minSdk version 14 (Android 4.0 ICS) and consist of some transitions which are not a part of the official set:

  1. Internal Transitions that was marked as @hide in the platform: Recolor, Rotate, ChangeText and Crossfade.
  2. Two extra transitions: Scale and Translation.

Quick start

This version should be used if you are specifying 29 (Q) as a targetSdkVersion:

dependencies {
    implementation "com.andkulikov:transitionseverywhere:2.1.0"
}

Otherwise, if you specify 29 as targetSdkVersion 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 based on androidx.transition:transition:1.2.0.

Previous version if you are not yet on 29 (Q) SDK:

dependencies {
    implementation "com.andkulikov:transitionseverywhere:2.0.0"
}

This version is based on androidx.transition:transition:1.1.0.

Migration from 1.x guide

  1. Migrate to AndroidX! Support libraries are not updating anymore, to get all the bug fixes you have to use AndroidX transitions.
  2. Replace imports from com.transitionseverywhere. to androidx.transition. for all the classes which are a part of the AndroidX lib.
  3. If you were using Transition.TransitionListenerAdapter class use TransitionListenerAdapter now.
  4. Instead of TransitionManager.setTransitionName() use ViewCompat.setTransitionName().
  5. If you were inflating transitions via xml move your files from anim folder to transition and use android: namespace instead of app:
  6. Some setters in AndroidX transitions are not following the builder pattern, please rewrite this usages with introducing a helper variable if you encounter the issue.
  7. Instead of TranslationTransition use Translation.

Articles about the version 1.x

Article about transitions and library
Russian version
Chinese: version 1, version 2