---
title: "animateDpAsState"
description: "Fire-and-forget animation function for [Dp]. This Composable function is overloaded for different
parameter types such as [Float], [Color][androidx.compose.ui.graphics.Color], [Offset], etc. When
the provided [targetValue] is changed, the animation will run automatically. If there is already
an animation in-flight when [targetValue] changes, the on-going animation will adjust course to
animate towards the new target value.

[animateDpAsState] returns a [State] object. The value of the state object will continuously be
updated by the animation until the animation finishes.

Note, [animateDpAsState] cannot be canceled/stopped without removing this composable function
from the tree. See [Animatable] for cancelable animations."
type: "composable"
---

<div class='type'>Composable Function</div>


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

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


```kotlin
@Composable
public fun animateDpAsState(
    targetValue: Dp,
    animationSpec: AnimationSpec<Dp> = dpDefaultSpring,
    label: String = "DpAnimation",
    finishedListener: ((Dp) -> Unit)? = null,
): State<Dp>
```


Fire-and-forget animation function for `Dp`. This Composable function is overloaded for different
parameter types such as `Float`, `Color`, `Offset`, etc. When
the provided `targetValue` is changed, the animation will run automatically. If there is already
an animation in-flight when `targetValue` changes, the on-going animation will adjust course to
animate towards the new target value.

`animateDpAsState` returns a `State` object. The value of the state object will continuously be
updated by the animation until the animation finishes.

Note, `animateDpAsState` cannot be canceled/stopped without removing this composable function
from the tree. See `Animatable` for cancelable animations.

#### Parameters

| | |
| --- | --- |
| targetValue | Target value of the animation |
| animationSpec | The animation that will be used to change the value through time. Physics animation will be used by default. |
| label | An optional label to differentiate from other animations in Android Studio. |
| finishedListener | An optional end listener to get notified when the animation is finished. |


#### Returns

| | |
| --- | --- |
|  | A `State` object, the value of which is updated by animation. |




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


> **Deprecated** animate*AsState APIs now have a new label parameter added.

```kotlin
@Composable
public fun animateDpAsState(
    targetValue: Dp,
    animationSpec: AnimationSpec<Dp> = dpDefaultSpring,
    finishedListener: ((Dp) -> Unit)? = null,
): State<Dp>
```



## Code Examples
### DpAnimationSample
```kotlin
@Composable
fun DpAnimationSample() {
    @Composable
    fun HeightAnimation(collapsed: Boolean) {
        // Animates a height of [Dp] type to different target values based on the [collapsed] flag.
        val height: Dp by animateDpAsState(if (collapsed) 10.dp else 20.dp)
        Box(Modifier.fillMaxWidth().requiredHeight(height).background(color = Color.Red))
    }
}
```

