changes but properties remain at original position. Only 4 animations: Alpha, Rotation, Translation and Scale. No animation update and cancel listener.
values and set them to target object. Can animate any value like view’s width, height, coordinates, etc. Always have to override onAnimationUpdate(…) method to specify where to apply animated value. No pre-defined properties so more customisations possible.
provides support for animating properties on target objects. Has some pre-defined properties like Alpha, Rotation, etc. Reflection beware Should not use for multiple simultaneous animations. ☠
Enables automatic and optimised animation of select properties on View objects. Easy to define comparatively. Better performance in case of several simultaneous animations. Optimise invalidate() calls. Can not use custom animation property.
animations that will be run on its targets during a scene change. Capture property values for before and after scene change. Not compatible with SurfaceView as view is updated from non-UI thread. Fade transition does not work with TextureView as it rely on ViewOverlay
Vector Drawable: Animates properties of Vector Drawable through Animators. AVD uses android API directly. Lottie A separate library by Airbnb Better animation listeners more customisable. How it works ?
Physics to animation world Can be used to define Spring-Based effects and friction effects on Android Views Easy to define physics properties like spring stiffness, friction magnitude etc.