An example of how to use the ObjectAnimator class to create a flip animation. What we do in this example is we scale the x axis from the current value to zero to simulate a fliping motion.
We must create am using the following ofFloat static method:
public static ObjectAnimator ofFloat (Object target, String propertyName, float... values)
To this method we pass some paramethers:
target: the view that we are going to animate (in or case, an ImageView).
propertyName: a string representing the animation name that we are going to use (in or case "scaleX").
values: the scales we are going to make on our image view (in our case, we pass 1f and 0d so it can scale from the actual size of the imageview (1f) to a zero width view (0f)).
You can also add some interpolators (such as DecelerateInterpolator() or AccelerateDecelerateInterpolator() to make an interpolation in the animation like so:
startAnim.interpolator = DecelerateInterpolator()
endAnim.interpolator = AccelerateDecelerateInterpolator()
To start our animation, all we have to do is to class start() on our ObjectAnimator object like so:
startAnim.start()
We can also add a listener to our ObjectAnimator to setup a callback when the animation ends:
startAnim.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
super.onAnimationEnd(animation)
// do somehting when animation ends
}
})