<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
public class KeyframesSpec<T>(public val config: KeyframesSpecConfig<T>) :
    DurationBasedAnimationSpec<T>
```


`KeyframesSpec` creates a `VectorizedKeyframesSpec` animation.

`VectorizedKeyframesSpec` animates based on the values defined at different timestamps in the
duration of the animation (i.e. different keyframes). Each keyframe can be defined using
`KeyframesSpecConfig.at`. `VectorizedKeyframesSpec` allows very specific animation definitions
with a precision to millisecond.


For each interval, you may provide a custom `Easing` by use of the `KeyframesSpecConfig.using`
function.


By default, values are animated linearly from one interval to the next (similar to `tween`),
however for 2-dimensional values you may animate them using arcs of quarter of an Ellipse with
`KeyframesSpecConfig.using` and `ArcMode`:


If instead, you wish to have a smooth curvy animation across all intervals, consider using
`KeyframesWithSplineSpec`.