• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 卡片使用动效能力
2
3
4ArkTS卡片开放了使用动画效果的能力,支持[显式动画](../reference/arkui-ts/ts-explicit-animation.md)、[属性动画](../reference/arkui-ts/ts-animatorproperty.md)、[组件内转场](../reference/arkui-ts/ts-transition-animation-component.md)能力。需要注意的是,ArkTS卡片使用动画效果时具有以下限制:
5
6
7**表1** 动效参数限制
8
9| 名称 | 参数说明 | 限制描述 |
10| -------- | -------- | -------- |
11| duration | 动画播放时长 | 限制最长的动效播放时长为1秒,当设置大于1秒的时间时,动效时长仍为1秒。 |
12| tempo | 动画播放速度 | 卡片中禁止设置此参数,使用默认值1。 |
13| delay | 动画延迟执行的时长 | 卡片中禁止设置此参数,使用默认值0。 |
14| iterations | 动画播放次数 | 卡片中禁止设置此参数,使用默认值1。 |
15
16>![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
17>
18>静态卡片不支持使用动效能力。
19
20以下示例代码实现了按钮旋转的动画效果:
21![WidgetAnimation](figures/WidgetAnimation.gif)
22
23
24
25```ts
26@Entry
27@Component
28struct AttrAnimationExample {
29  @State rotateAngle: number = 0;
30
31  build() {
32    Column() {
33      Button('change rotate angle')
34        .onClick(() => {
35          this.rotateAngle = 90;
36        })
37        .margin(50)
38        .rotate({ angle: this.rotateAngle })
39        .animation({
40          curve: Curve.EaseOut,
41          playMode: PlayMode.AlternateReverse
42        })
43    }.width('100%').margin({ top: 20 })
44  }
45}
46```
47