AnticipateOvershootInterpolator

public class AnticipateOvershootInterpolator implements Interpolator


An interpolator where the change starts backward then flings forward and overshoots the target value and finally goes back to the final value.

Summary

Public constructors

Creates a new instance of AnticipateOvershootInterpolator with slight anticipate and overshoot.

Creates a new instance of AnticipateOvershootInterpolator.

AnticipateOvershootInterpolator(float tension, float extraTension)

Creates a new instance of AnticipateOvershootInterpolator.

Public methods

@FloatRange(to = 1) float
getInterpolation(@FloatRange(from = 0, to = 1) float input)

Maps a value representing the elapsed fraction of an animation to a value that represents the interpolated fraction.

Public constructors

AnticipateOvershootInterpolator

public AnticipateOvershootInterpolator()

Creates a new instance of AnticipateOvershootInterpolator with slight anticipate and overshoot.

AnticipateOvershootInterpolator

public AnticipateOvershootInterpolator(float tension)

Creates a new instance of AnticipateOvershootInterpolator.

Parameters
float tension

Amount of anticipation/overshoot. When tension equals 0.0f, there is no anticipation/overshoot and the interpolator becomes a simple acceleration/deceleration interpolator.

AnticipateOvershootInterpolator

public AnticipateOvershootInterpolator(
    @NonNull Context context,
    @Nullable AttributeSet attrs
)

AnticipateOvershootInterpolator

public AnticipateOvershootInterpolator(float tension, float extraTension)

Creates a new instance of AnticipateOvershootInterpolator.

Parameters
float tension

Amount of anticipation/overshoot. When tension equals 0.0f, there is no anticipation/overshoot and the interpolator becomes a simple acceleration/deceleration interpolator.

float extraTension

Amount by which to multiply the tension. For instance, to get the same overshoot as an OvershootInterpolator with a tension of 2.0f, you would use an extraTension of 1.5f.

Public methods

getInterpolation

public @FloatRange(to = 1) float getInterpolation(@FloatRange(from = 0, to = 1) float input)

Maps a value representing the elapsed fraction of an animation to a value that represents the interpolated fraction. This interpolated value is then multiplied by the change in value of an animation to derive the animated value at the current elapsed animation time.

Parameters
@FloatRange(from = 0, to = 1) float input

A value between 0 and 1.0 indicating our current point in the animation where 0 represents the start and 1.0 represents the end

Returns
@FloatRange(to = 1) float

The interpolation value. This value can be more than 1.0 for interpolators which overshoot their targets, or less than 0 for interpolators that undershoot their targets.