# androidx.constraintlayout.core.motion.utils

# androidx.constraintlayout.core.motion.utils

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/constraintlayout/core/motion/utils/package-summary "View this page in Java")

## Interfaces

|-----------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
| [DifferentialInterpolator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/DifferentialInterpolator)     |                                                                                      |
| [StopEngine](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/StopEngine)                                 |                                                                                      |
| [TypedValues](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues)                               | Provides an interface to values used in KeyFrames and in Starting and Ending Widgets |
| [TypedValues.AttributesType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.AttributesType) |                                                                                      |
| [TypedValues.Custom](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.Custom)                 |                                                                                      |
| [TypedValues.CycleType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.CycleType)           |                                                                                      |
| [TypedValues.MotionScene](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.MotionScene)       |                                                                                      |
| [TypedValues.MotionType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.MotionType)         |                                                                                      |
| [TypedValues.OnSwipe](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.OnSwipe)               |                                                                                      |
| [TypedValues.PositionType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.PositionType)     |                                                                                      |
| [TypedValues.TransitionType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.TransitionType) |                                                                                      |
| [TypedValues.TriggerType](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedValues.TriggerType)       |                                                                                      |
| [Utils.DebugHandle](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Utils.DebugHandle)                   |                                                                                      |

## Classes

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ArcCurveFit](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/ArcCurveFit)                                           | This provides provides a curve fit system that stitches the x,y path together with quarter ellipses                                                                                                                                   |
| [CurveFit](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/CurveFit)                                                 | Base class for curve fitting / interpolation Curve fits must be capable of being differentiable and extend beyond the points (extrapolate)                                                                                            |
| [Easing](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Easing)                                                     | Provide the engine for cubic spline easing                                                                                                                                                                                            |
| [FloatRect](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/FloatRect)                                               |                                                                                                                                                                                                                                       |
| [HyperSpline](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/HyperSpline)                                           | Provides spline interpolation code.                                                                                                                                                                                                   |
| [HyperSpline.Cubic](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/HyperSpline.Cubic)                               |                                                                                                                                                                                                                                       |
| [KeyCache](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCache)                                                 | Used by KeyTimeCycles (and any future time dependent behaviour) to cache its current parameters to maintain consistency across requestLayout type rebuilds.                                                                           |
| [KeyCycleOscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator)                             | Provide the engine for executing cycles.                                                                                                                                                                                              |
| [KeyCycleOscillator.PathRotateSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyCycleOscillator.PathRotateSet) |                                                                                                                                                                                                                                       |
| [KeyFrameArray](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyFrameArray)                                       |                                                                                                                                                                                                                                       |
| [KeyFrameArray.CustomArray](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyFrameArray.CustomArray)               |                                                                                                                                                                                                                                       |
| [KeyFrameArray.CustomVar](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/KeyFrameArray.CustomVar)                   |                                                                                                                                                                                                                                       |
| [LinearCurveFit](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/LinearCurveFit)                                     | This performs a simple linear interpolation in multiple dimensions                                                                                                                                                                    |
| [MonotonicCurveFit](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/MonotonicCurveFit)                               | This performs a spline interpolation in multiple dimensions                                                                                                                                                                           |
| [Oscillator](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Oscillator)                                             | This generates variable frequency oscillation curves                                                                                                                                                                                  |
| [Rect](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Rect)                                                         |                                                                                                                                                                                                                                       |
| [Schlick](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Schlick)                                                   | Schlick's bias and gain functions curve for use in an easing function including quantize functions                                                                                                                                    |
| [SplineSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/SplineSet)                                               | This engine allows manipulation of attributes by Curves                                                                                                                                                                               |
| [SplineSet.CustomSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/SplineSet.CustomSet)                           |                                                                                                                                                                                                                                       |
| [SplineSet.CustomSpline](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/SplineSet.CustomSpline)                     |                                                                                                                                                                                                                                       |
| [SpringStopEngine](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/SpringStopEngine)                                 | This contains the class to provide the logic for an animation to come to a stop using a spring model.                                                                                                                                 |
| [StepCurve](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/StepCurve)                                               | This class translates a series of floating point values into a continuous curve for use in an easing function including quantize functions it is used with the "spline(0,0.3,0.3,0.5,...0.9,1)" it should start at 0 and end at one 1 |
| [StopLogicEngine](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/StopLogicEngine)                                   | This contains the class to provide the logic for an animation to come to a stop.                                                                                                                                                      |
| [StopLogicEngine.Decelerate](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/StopLogicEngine.Decelerate)             |                                                                                                                                                                                                                                       |
| [TimeCycleSplineSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet)                             | This engine allows manipulation of attributes by wave shapes oscillating in time                                                                                                                                                      |
| [TimeCycleSplineSet.CustomSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomSet)         |                                                                                                                                                                                                                                       |
| [TimeCycleSplineSet.CustomVarSet](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.CustomVarSet)   |                                                                                                                                                                                                                                       |
| [TimeCycleSplineSet.Sort](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TimeCycleSplineSet.Sort)                   |                                                                                                                                                                                                                                       |
| [TypedBundle](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/TypedBundle)                                           |                                                                                                                                                                                                                                       |
| [Utils](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/Utils)                                                       |                                                                                                                                                                                                                                       |
| [VelocityMatrix](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/VelocityMatrix)                                     | This is used to calculate the related velocity matrix for a post layout matrix                                                                                                                                                        |
| [ViewState](https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/motion/utils/ViewState)                                               |                                                                                                                                                                                                                                       |