- Expose
LottieComposition#getImages()
to aid in preloading images.
- Animator fixes:
- Previously, some usages of lottie animator apis/api listeners would cause unexpected behavior, especially calling apis from listener callbacks.
- This is breaking change if you use
playAnimation(start, end)
. It has been removed in favor of explicit methods forsetMinFrame/Progress
,setMaxFrame/Progress
andsetMinAndMaxFrame/Progress
followed by an explicit call toplayAnimation
orresumeAnimation
. reverseAnimation
andresumeReverseAnimation
apis have been removed in favor ofplay
andresume
withspeed
< 0.- If you have created hack around these limitations or complex animator chaining, please test your animations after updating.
- Set an animation from R.raw (res/raw) if you want static references to your animation files. This can help prevent mismatches between api calls and file names. Thanks @cyrilmottier!
- Support for ellipse direction.
- Expose image directory name if set from bodymovin.
- Fixed a bug with animations that use both mattes and time stretch.
- Fixed a few keyframe issues where keyframe start/end values would be off by 1 frame.
- Call onAnimationEnd when system animations are disabled.
- Improved the reliability of scaling and using ImageView scale types.
- Fixed a clipping issue with precomps.
- Fixed an ArrayIndexOutOfBounds crash in the interpolator cache.
- Fixed some issues with progress and resume
- Fixed a StackOverflowErrors when animations are disabled
- Fixed a NPE in Keyframe.Factory
- Text now supports opacity.
- Fixed a couple of couple of concurrency crashes.
- Fixed a crash when animations are disabled.
- Fixed a crash for letters with no shapes.
- Added
play(startFrame, endFrame)
andplay(startProgress, endProgress)
. - Added the ability to set a minimum and maximum frame/progress for a given animation.
- Made WeakRef the default cache strategy.
- Cancel loading animations when non-Lottie animations are set.
- Reduced memory footprint.
- Allowed animations with masks and mattes to scale larger than their view.
- Respect hardware acceleration when async loading a composition.
- Fixed a gradient point counting issue.
- Fixed a trim path issue.
- Added support for animated text (glyphs and fonts)
- Enabled text to be set dynamically
- Added support for repeaters
- Added support for time stretching
- Added support for work area (trimming start and end frames)
- Added support for mask opacity
- Migrated the sample app to Kotlin
- Added a real time render performance graph in the sample app
- Added many systrace markers to improve performance tracking
- Increased version number.
- New animations from lottiefiles in the sample app.
- Minor trim path fix.
- Minor gradient caching fix.
- Paste json into the sample app.
- Update a bitmap asset dynamically.
- Set scale from xml.
- Resume no longer restarts the animation.
- More lenient crashes and getCallback() checks.
- Fewer addUpdateListener calls.
- Fix cache strategy when it and the animation is set from xml.
- Set a color filter with xml
- Prevent a rare crash when used from React Native.
- Apply transformation to gradient fills.
- Clip precomps to their bounds.
- Prevent a crash with certain extreme keyframe values.
- Fix the sample app for pre-lollipop.
- Fix some pre-lollipop rendering bugs.
- Added support to load an animation by scanning a qr code with a url to the json. All lottiefiles.com animations now have qr codes.
- Added support for opacity stops in gradients.
- Exposed setScale to arbitrarily scale up or down an animation. Added a slider in Lottie Sample to try it.
- Fixed several subtle trim path and dash pattern bugs.
- Fixed a bug with path animations on Jelly Bean.
- Fixed a bug that would incorrectly draw rounded rectangles.
- Ground up rewrite of the rendering engine.
- Vastly improved the performance of masks and mattes.
- Support for fill types (non-zero or even-odd).
- Support for gradient fills.
- Some merge path support. Enable it with
enableMergePathsForKitKatAndAbove
and read the documentation before using it. - Support for multiple fills and strokes on shapes.
- Exposed several package private methods on
LottieAnimationView
andLottieDrawable
- Better support for hardware acceleration.
- Added a ton of samples from lottiefiles.com to the sample app.
- Invalidate whatever drawable is set as the image drawable even if it's not LottieDrawable.
- Added an image asset delegate so you can provide your own bitmaps from and sd card, for example.
- Added an attr for setting progress.
- Improved the performance of very large compositions by scaling them down to the screen size.
- Separate APIs for play/cancel with or without setting progress.
- Several issues that could cause graphical corruption in masks or mattes.
- LottieAnimationView checks whether it's current drawable is LottieDrawable for some calls.
- Significantly improved memory usage when using masks or mattes. No more bitmaps!
- Further improved the compatibility of masks and mattes.
- Use a thread pool executor for deserialization.
- Allow setting a default cache strategy
- Drop repeated calls to setComposition with the same composition.
- Fixed an image scaling issue.
- Fixed a crash when leaving a screen with an image animation.
- Fixed a crash when the json has no assets.
- Precomps.
- 60% performance and memory improvement for masks and mattes.
- Images support. See documentation for more information.
- Polystars.
- Polygons.
- Alpha inverted masks.
- Subtract masks.
- Trim paths on rectangles.
- Variable speed (positive or negative).
- Improved color interpolation (rgb -> gamma color space).
- Make
LottieDrawable
public again. - Apply trim paths to shape fills.
- Expose reverseAnimation in addition to playAnimation.
- Added support for split dimension positions.
- Fixed a crash with decimal opacity values.
- Allow trim paths to rotate indefinitely.
- Lowered the minSdk to 14 (ICS).
- Prevent multiple caches from created on different threads.
- Allow animations to show final state when system animations are disabled.
- Fixes an issue in which a parent layer will overwrite child alpha.
- Fixes drawable invalidation when
LottieDrawable
is used outside ofLottieAnimationView
- Initial release