CycleInterpolator

class CycleInterpolator : Interpolator


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

Summary

Public constructors

Creates a new instance of CycleInterpolator.

CycleInterpolator(context: Context, attrs: AttributeSet?)

Creates a new instance of CycleInterpolator from XML.

Public functions

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

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

Public constructors

CycleInterpolator

CycleInterpolator(cycles: Float)

Creates a new instance of CycleInterpolator.

Parameters
cycles: Float

The cycles to repeat.

CycleInterpolator

CycleInterpolator(context: Context, attrs: AttributeSet?)

Creates a new instance of CycleInterpolator from XML.

Parameters
context: Context

The context.

attrs: AttributeSet?

The AttributeSet from XML.

Public functions

getInterpolation

fun getInterpolation(input: @FloatRange(from = 0, to = 1) Float): @FloatRange(from = 0, to = 1) Float

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
input: @FloatRange(from = 0, to = 1) Float

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.