# lgvalle/material-animations

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lgvalle-material-animations).**

13,567 stars · 2,444 forks · Java · MIT

## Links

- GitHub: https://github.com/lgvalle/Material-Animations
- awesome-repositories: https://awesome-repositories.com/repository/lgvalle-material-animations.md

## Description

Material-Animations is a Java-based library for coordinating activity transitions, property animations, and reveal effects within Android mobile user interfaces. It provides a framework for automating visual updates whenever view properties or layout configurations are modified.

The project implements high-level patterns for shared element transitions, linking independent views across different sections to simulate a single moving element. It also includes circular reveal masking to unveil content from a specific focal point and coordinate-based view mapping to execute translation and scaling movements between activities.

The library covers a broad range of UI orchestration capabilities, including scene-based state interpolation, sequential transition ordering to manage enter and exit timing, and various activity transition rules such as fade, slide, and explode.

## Tags

### User Interface & Experience

- [Layout Transition Libraries](https://awesome-repositories.com/f/user-interface-experience/layout-transition-libraries.md) — Provides a framework for automating visual updates when view properties or layout configurations are modified.
- [Layout Interpolators](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/frame-execution-synchronization/animation-frame-rate-controls/frame-interpolation-engines/layout-interpolators.md) — Calculates the necessary layout property interpolation to move views between predefined static configurations.
- [Automatic Property Animations](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-properties/automatic-property-animations.md) — Triggers automatic visual updates by inferring start and end values from view property changes.
- [Layout Animation Engines](https://awesome-repositories.com/f/user-interface-experience/layout-animation-engines.md) — Automatically calculates and animates transitions when UI elements change size or position. ([source](https://cdn.jsdelivr.net/gh/lgvalle/material-animations@master/README.md))
- [Screen Transitions](https://awesome-repositories.com/f/user-interface-experience/navigation-routing/screen-transitions.md) — Implements smooth visual shifts between app screens using transition rules such as fade, slide, and explode.
- [Shared Element Transitions](https://awesome-repositories.com/f/user-interface-experience/shared-element-transitions.md) — Links identical view identifiers across different layouts to create seamless visual continuity during scene shifts.
- [View Transition Animations](https://awesome-repositories.com/f/user-interface-experience/view-transition-animations.md) — Interpolates positions of all visible elements when transitioning between different layout projections. ([source](https://cdn.jsdelivr.net/gh/lgvalle/material-animations@master/README.md))
- [Transition Sequencing Controls](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/transition-sequencing-controls.md) — Manages the precise timing and sequence of entering and exiting layouts during transitions.
- [Transition Timings](https://awesome-repositories.com/f/user-interface-experience/component-transitions/reusable-transition-definitions/transition-timings.md) — Controls the duration and sequence of enter and exit transitions to manage screen replacements. ([source](https://cdn.jsdelivr.net/gh/lgvalle/material-animations@master/README.md))
- [Reveal Masks](https://awesome-repositories.com/f/user-interface-experience/element-masks/reveal-masks.md) — Provides clipping paths that unveil content from a specific focal point using circular reveal masks.

### Part of an Awesome List

- [UI Transition Animations](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions/ui-transition-animations.md) — Executes visual shifts between layouts using rules like explode, slide, and fade. ([source](https://cdn.jsdelivr.net/gh/lgvalle/material-animations@master/README.md))
- [Animation Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/animation-libraries.md) — Examples of Material Design transition animations.
- [Sample Projects](https://awesome-repositories.com/f/awesome-lists/devtools/sample-projects.md) — Android Transition animations explanation with examples

### Graphics & Multimedia

- [View Translation Mappings](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visualization-frameworks/coordinate-systems/page-coordinate-mapping/screen-space-coordinate-mappings/view-translation-mappings.md) — Implements coordinate-based mapping to execute precise translation and scaling movements between activities.
- [UI Scene Animations](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visualization-frameworks/scene-animation-scripts/ui-scene-animations.md) — Moves layouts between different static states by calculating position changes for all visible views.
- [UI Transition Effects](https://awesome-repositories.com/f/graphics-multimedia/custom-animation-effects/ui-transition-effects.md) — Integrates circular reveal animations and scale transforms to implement custom UI transition effects. ([source](https://cdn.jsdelivr.net/gh/lgvalle/material-animations@master/README.md))
