explaingit

andkulikov/transitions-everywhere

4,787JavaAudience · developerComplexity · 2/5Setup · easy

TLDR

An Android library that adds extra animation transitions, color changes, rotations, crossfades, text swaps, and more, built on top of AndroidX Transitions, including ones Google kept hidden from developers.

Mindmap

mindmap
  root((repo))
    What it does
      Extra Android transitions
      AndroidX extension
      Hidden API access
    Transition Types
      Recolor
      Rotate
      ChangeText
      Crossfade
      Scale
      Translation
    Use Cases
      Color change animation
      Layout state switching
      Text swap animation
    Getting Started
      Gradle dependency
      Version selection
      Migration guide
    Tech Stack
      Java
      Android
      AndroidX
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Animate a view's background color change smoothly when the user toggles a setting in your Android app using Recolor

USE CASE 2

Add a Crossfade transition to switch between a loading spinner and a loaded layout without a jarring snap

USE CASE 3

Apply a Scale transition when expanding a card or list item to make it feel polished and responsive

USE CASE 4

Animate text content changes with ChangeText when a counter increments or a label updates in your UI

Tech stack

JavaAndroidAndroidX

Getting it running

Difficulty · easy Time to first run · 5min

Use version 2.1.0 for apps targeting Android 10 or higher, use 2.0.0 for apps targeting earlier Android versions.

In plain English

Transitions Everywhere is an Android library that adds extra animation effects for apps built on the official AndroidX Transitions system. When something changes on screen, such as a button changing color or a layout element moving position, Android can animate that change smoothly rather than snapping the view instantly. The platform ships with a standard set of built-in transition types, but several useful ones were kept internal and hidden from outside developers. This library surfaces those hidden transitions and adds a couple of its own. The transitions this library provides are Recolor for animating color changes, Rotate for rotation, ChangeText for animating text swaps, Crossfade for fading between two states, Scale for animating size changes, and Translation for animating movement between positions. All of these work on top of AndroidX's transition infrastructure, so they integrate with the same APIs and XML configuration that standard transitions use. The library originally began as a full backport of Android's transitions system to older devices. Over time the AndroidX team absorbed many of the underlying bug fixes, so the project's role narrowed to providing just the transition types that the official library still omits. The minimum supported Android version is 4.0 (API level 14). Two versions are maintained. Version 2.1.0 is for apps targeting Android 10 or higher, where new public APIs replaced some internal reflection calls. Version 2.0.0 is for apps targeting earlier Android versions. Both are added via a single Gradle dependency line. If you are upgrading from the older 1.x releases, the README provides a step-by-step migration guide covering import changes, class renames, and a few method signature differences introduced when the project moved to AndroidX.

Copy-paste prompts

Prompt 1
Add a Recolor transition that smoothly animates a button's background color from red to green when pressed in my Android app
Prompt 2
Use transitions-everywhere Crossfade to animate between a loading spinner and a RecyclerView in my Android app
Prompt 3
Apply a Scale transition from transitions-everywhere when expanding a card view in a RecyclerView on tap
Prompt 4
Migrate my Android project from transitions-everywhere 1.x to 2.x, what imports changed and which classes were renamed?
Open on GitHub → Explain another repo

← andkulikov on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.