# Explicit Animation
You can create explicit animation with your custom settings.
> **NOTE**
>
> The APIs of this module are supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version.
| API | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| animateTo(value: [AnimateParam](#animateparam), event: ()=> void) : void | Provides a transition animation when the status changes due to the closure code. **event** specifies the closure function that displays the dynamic effect. The system automatically inserts the transition animation if the status changes in the closure function.|
## AnimateParam
| Name| Type| Description|
| -------- | -------- | -------- |
| duration | number | Animation duration, in ms. Default value: **1000**|
| tempo | number | Animation playback speed. A larger value indicates faster animation playback, and a smaller value indicates slower animation playback. The value **0** means that there is no animation. Default value: **1.0**|
| curve | Curve \| Curves | Animation curve. Default value: **Curve.Linear**|
| delay | number | Delay of animation playback, in ms. By default, the playback is not delayed. Default value: **0**|
| iterations | number | Number of times that the animation is played. By default, the animation is played once. The value **-1** indicates that the animation is played for an unlimited number of times. Default value: **1**|
| playMode | [PlayMode](ts-appendix-enums.md#playmode) | Animation playback mode. By default, the animation is played from the beginning after the playback is complete. Default value: **PlayMode.Normal**|
| onFinish | () => void | Callback invoked when the animation playback is complete.|
## Example
```ts
// xxx.ets
@Entry
@Component
struct AnimateToExample {
@State widthSize: number = 200
@State heightSize: number = 100
private flag: boolean = true
build() {
Column() {
Button('click me')
.width(this.widthSize)
.height(this.heightSize)
.backgroundColor(0x317aff)
.onClick((event: ClickEvent) => {
// Animation configuration for the width and height attributes of the