Reimplemented LottieValueAnimator (#624)

This version of LottieValueAnimator replaces all of the animator looping logic with a self-managed Choreographer callback architecture. 

There are two primary reasons for the change:
1) The conversion from setting frames to setting the currentPlayTime of the value animator often led to tricky floating point and rounding issues (#491, #610)
2) The ValueAnimator APIs and implementation have changed in different platform versions. For example, in some versions, the animator will report as running in the update callbacks and for some, it won't. (#555, #615)

There are other benefits as well:
1) Animations can now run independently of the animator duration scale setting.
2) Frame rates are now respected. Animations will now render at the fps specified in After Effects rather than 60fps.

I had to bump the minSdk to 16 to support Choreographer.
13 files changed
tree: 099e0cfb7000a54c42fa3b2ea9e16974532e979f
  1. .github/
  2. .idea/
  3. After Effects Samples/
  4. gifs/
  5. gradle/
  6. lottie/
  7. LottieSample/
  8. .gitignore
  9. .travis.yml
  10. build.gradle
  11. CHANGELOG.md
  12. credentials.tar.gz
  13. DESIGNER_NOTES.md
  14. gradle.properties
  15. gradlew
  16. gradlew.bat
  17. LICENSE
  18. post_pr_comment.js
  19. README.md
  20. settings.gradle
  21. version.sh
README.md

Lottie for Android, iOS, React Native, and Web

Build Status

Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile!

For the first time, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. They say a picture is worth 1,000 words so here are 13,000:

View documentation, FAQ, help, examples, and more at airbnb.io/lottie

Example1

Example2

Example3

Community

Example4

Download

Gradle is the only supported build configuration, so just add the dependency to your project build.gradle file:

dependencies {
  compile 'com.airbnb.android:lottie:2.5.0-rc1'
}