Reverse the iteration direction for keyframe finding

Bodymovin only specifies start time for a frame. The end time of
the previous frame cam be implied to be immediately before that.
During keyframe creation, we set the end frame of a keyframe to
the start frame of the next one. However, that means that if we
iterate forward to find a keyframe, if you are exactly at the
beginning of a keyframe, it will be detected at the end of a keyframe
rather than the beginning of the next one.

This also fixes an end frame calculate which was one too short
for layers with in out animations.

#506
12 files changed
tree: 5281affae3ceeebc6ca6b8dce4671afae0901ef1
  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. DESIGNER_NOTES.md
  13. gradle.properties
  14. gradlew
  15. gradlew.bat
  16. LICENSE
  17. README.md
  18. settings.gradle
README.md

Lottie for Android, iOS, and React Native

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.2.5'
}