Releases: airbnb/lottie-android
Releases · airbnb/lottie-android
3.0.0
Features and Improvements
- Significant mask and matte performance improvements by only calling saveLayer() on the intersection bounds of the content and mask/matte.
- Added support for dynamic properties on rectangles, gradient colors, and gradient fill opacity.
- Added support for inverted and intersect masks.
- Improved support for multiple masks per layer.
- Added support for optimized bodymovin json with static transforms removed (v5.5.0+).
- Added support for optimized bodymovin json that will omit duplicated vertex out points to reduce json file size (v5.5.0+).
- Added support for centered, multiline text, and emojis.
- Added support for masked text.
- Added support for skew and skew angle in transforms.
- Added support for markers. You can now call
setMinFrame
,setMaxFrame
andsetMinAndMaxFrame
with a marker name. - Added support for hidden layers and properties (the eye button in After Effects).
- Added support for multiple trim paths to be applied on a shape.
- Removed all memory allocations during playback including autoboxing.
- Replaced
enableHardwareAcceleration
with a newsetRenderMode
API because it has a third (Automatic
) option. Refer to the docs for more info. - Added an XML attr for animation speed (lottie_speed).
- Removed the recycleBitmaps() API because it is not neccesary anymore.
- Prevented
invalidateSelf()
from being called and recalculating bounds many times per frame.
Bugs Fixed
- Only redraw the animation when a value changed. This will have a major impact on animations that are static for part of their playback.
- Optimized keyframes to recalculate values less frequently
- Optimized static identity transforms so their matrix doesn't get recalculated on every frame.
- Ensure that the last frame is played when setMaxFrame is called.
- Prevent strokes from drawing when the scale is 0.
- Prevented minFrame from being larger than maxFrame.
- Return the correct (previous) bitmap when updating the BitmapAssetManager.
- Properly use the in-memory cache for network animations.
- Prevented color animations from interpolating before/after the start/end colors even if their interpolator goes <0 or >1.
- Annotate
fetchBitmap()
as@Nullable
- Fixed a bug in the local file cache that would save it with the wrong extensions.
- Fixed a crash when an animation was missing gradient fill type.
- Prevent shapes that have different numbers of control points in different keyframes from crashing.
- Fixed an IndexOutOfBoundsException.
- Pause Lottie in onVisibilityChanged.
- Properly limited the LRU cache an enable its maximum size to be configured.
- Prevented the cache from returning null values after a key was cleared.
- Properly closed JsonReader in all cases.
- Fixed text alignment for scaled text when drawn using fonts.
- Use FutureTask rather than polling for composition parsing to complete.
- [Sample App] Fixed Lottiefiles integration.
v2.7.0
v2.6.1
v2.6.0
v2.6.0-beta21
v2.6.0-beta21
v2.6.0-rc3
v2.6.0-rc3
v2.6.0-beta20
v2.6.0-beta20
v2.6.0-beta16
v2.6.0-beta16
v2.6.0-rc2
v2.6.0-rc2
v2.6.0-signed3
v2.6.0-signed3