Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Tonvia
Docs
提交
3eee8fa1
D
Docs
项目概览
Tonvia
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3eee8fa1
编写于
10月 28, 2022
作者:
L
luoying_ace
提交者:
Gitee
10月 28, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/reference/arkui-ts/ts-explicit-animation.md.
Signed-off-by:
N
luoying_ace
<
luoying19@huawei.com
>
上级
870baa0f
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
34 addition
and
29 deletion
+34
-29
zh-cn/application-dev/reference/arkui-ts/ts-explicit-animation.md
...plication-dev/reference/arkui-ts/ts-explicit-animation.md
+34
-29
未找到文件。
zh-cn/application-dev/reference/arkui-ts/ts-explicit-animation.md
浏览文件 @
3eee8fa1
# 显式动画
提供
显示动画接口
。
提供
全局animateTo显式动画接口来指定由于闭包代码导致的状态变化插入过渡动效
。
> **说明:**
>
> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
| 接口名称 | 功能描述 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| animateTo(value:
[AnimateParam](#animateparam对象说明),
event:
()=
>
void)
:
void | 提供全局animateTo显式动画接口来指定由于闭包代码导致的状态变化插入过渡动效。
<br/>
event指定显示动效的闭包函数,在闭包函数中导致的状态变化系统会自动插入过渡动画。 |
animateTo(value: AnimateParam, event: () => void): void
| 参数 | 类型 | 是否必填 | 描述 |
| ---------------- | ------------ | -------------------- | -------------------- |
| value |
[
AnimateParam
](
#animateparam对象说明
)
| 是 | 设置动画效果相关参数。 |
| event | () => void | 是 | 指定显示动效的闭包函数,在闭包函数中导致的状态变化系统会自动插入过渡动画。 |
## AnimateParam对象说明
...
...
@@ -25,7 +27,6 @@
| onFinish | ()
=
>
void | 动效播放完成回调。 |
## 示例
```
ts
...
...
@@ -33,26 +34,24 @@
@
Entry
@
Component
struct
AnimateToExample
{
@
State
widthSize
:
number
=
2
0
0
@
State
widthSize
:
number
=
2
5
0
@
State
heightSize
:
number
=
100
@
State
rotateAngle
:
number
=
0
private
flag
:
boolean
=
true
build
()
{
Column
()
{
Button
(
'
c
lick me
'
)
Button
(
'
c
hange width and height
'
)
.
width
(
this
.
widthSize
)
.
height
(
this
.
heightSize
)
.
backgroundColor
(
0x317aff
)
.
onClick
((
event
:
ClickEvent
)
=>
{
// 对Button组件的宽高属性进行动画配置
.
margin
(
30
)
.
onClick
(()
=>
{
if
(
this
.
flag
)
{
animateTo
({
duration
:
1000
,
// 动画时长
tempo
:
0.5
,
// 播放速率
curve
:
Curve
.
EaseInOut
,
// 动画曲线
delay
:
200
,
// 动画延迟
iterations
:
1
,
// 播放次数
playMode
:
PlayMode
.
Normal
,
// 动画模式
duration
:
2000
,
curve
:
Curve
.
EaseOut
,
iterations
:
3
,
playMode
:
PlayMode
.
Normal
,
onFinish
:
()
=>
{
console
.
info
(
'
play end
'
)
}
...
...
@@ -61,25 +60,31 @@ struct AnimateToExample {
this
.
heightSize
=
50
})
}
else
{
animateTo
({},
()
=>
{
this
.
widthSize
=
250
this
.
heightSize
=
100
})
}
this
.
flag
=
!
this
.
flag
})
Button
(
'
change rotate angle
'
)
.
margin
(
50
)
.
rotate
({
angle
:
this
.
rotateAngle
})
.
onClick
(()
=>
{
animateTo
({
duration
:
200
,
// 动画时长
curve
:
Curve
.
Ease
,
// 动画曲线
delay
:
200
,
// 动画延迟
iterations
:
1
,
// 播放次数
playMode
:
PlayMode
.
Normal
,
// 动画模式
duration
:
1200
,
curve
:
Curve
.
Friction
,
delay
:
500
,
iterations
:
-
1
,
// 设置-1表示动画无限循环
playMode
:
PlayMode
.
AlternateReverse
,
onFinish
:
()
=>
{
console
.
info
(
'
play end
'
)
}
},
()
=>
{
this
.
widthSize
=
200
this
.
heightSize
=
100
this
.
rotateAngle
=
90
})
}
this
.
flag
=
!
this
.
flag
})
}.
width
(
'
100%
'
).
margin
({
top
:
5
})
}
}
```
![
zh-cn_image_0000001174104398
](
figures/zh-cn_image_0000001174104398.gif
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录