CycleInterpolator

public class CycleInterpolator implements Interpolator


Repeats the animation for a specified number of cycles. The rate of change follows a sinusoidal pattern.

Summary

Public constructors

CycleInterpolator(float cycles)

Creates a new instance of CycleInterpolator.

Creates a new instance of CycleInterpolator from XML.

Public methods

@FloatRange(from = 0, 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

CycleInterpolator

public CycleInterpolator(float cycles)

Creates a new instance of CycleInterpolator.

Parameters
float cycles

The cycles to repeat.

CycleInterpolator

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

Creates a new instance of CycleInterpolator from XML.

Parameters
@NonNull Context context

The context.

@Nullable AttributeSet attrs

The AttributeSet from XML.

Public methods

getInterpolation

public @FloatRange(from = 0, 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(from = 0, 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.