Analysis updated 2026-07-03
Add polished wave-style entrance animations to list or card screens in an Android app.
Create radial or top-to-bottom cascading animations without manually calculating per-view delays.
Skip specific views from a group animation so they can animate independently.
Coordinate fade-in or custom Animator effects across all child views in a ViewGroup with one API call.
| willowtreeapps/spruce-android | microservices-patterns/ftgo-application | springdoc/springdoc-openapi | |
|---|---|---|---|
| Stars | 3,704 | 3,703 | 3,706 |
| Language | Java | Java | Java |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 5/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Spruce is an Android library that helps coordinate animations across multiple views at the same time. On a screen with many elements, getting each item to animate at the right moment, in the right order, and with the right delay can become complicated to manage by hand. Spruce takes care of that coordination: you give it a group of views, specify how you want them sorted, and assign an animation, and the library figures out the timing for each individual element. The library works through two main concepts. The first is a sort function, which controls the order in which views begin animating. Eight built-in sort functions cover common patterns: top-to-bottom linear, radial (spreading outward from the center), random, cornered, inline, and a few variations. You can also write a custom sort function if none of the built-in options fits. The second concept is the animation itself, which uses Android's standard Animator class. Spruce includes a small set of ready-made animations (fade in, fade out, shrink) for common cases, but you can supply any custom Animator. The API is a builder chain: you attach a view group, a sort function, and one or more animators, then call .start(). An inter-object delay value controls how much time passes between each successive view starting its animation, which produces the wave or cascade effect that makes multi-view animations look polished. The library also includes a view exclusion feature for skipping specific views or list positions from the animation, useful when certain elements should animate independently or stay still. Spruce is added to an Android project through Gradle and has a companion iOS version in a separate repository. It is released under the MIT license.
An Android Java library that coordinates animations across multiple views at once, handling order, timing, and delays automatically through a simple builder API.
Mainly Java. The stack also includes Java, Android, Gradle.
Use freely for any purpose, including commercial use, as long as you keep the MIT copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.