HarmonyOS-ArkUI: animateTo 显式动画

什么是显式动画

啊, 尽管有点糙,但还是解释一下吧, 显式动画里面的“显式”二字, 是程序员在代码调用的时候,就三令五申,明明白白调用动画API而创建的动画。 这个API的名字就是: animateTo。这就是显式动画。说白了您可以大致理解为,显式动画,就是调用animateTo来完成的动画。

animateTo API概述

animateTo是common文件中的一个方法,其声明为:

declare function animateTo(value: AnimateParam, event: () => void): void;

好,接下来我们梳理一下这个方法!

animateTo用法

animateTo由于是一个common的方法,且其声明中并没有指定要改什么组件,那么它是怎么改动相关组件界面的呢?答案是,通过改动状态变量而联动界面变化。改动位置就是animateTo的第二个参数。

declare function animateTo(value: AnimateParam, event: () => void): void;

这个函数里面的event参数。 代表的是一套动画最终的值要变成的样子。哪个组件和这个值有关联,哪个组件的界面就会变。

如下文中的案例:

@Entry
@Component
struct AnimateToTest1 {
  @State widthSize:number = 250
  @State heightSize: number = 100
  @State rotateAngle: number = 0
  private flag: boolean = true
  build() {
    Column() {
      Button('Change Size')
        .width(this.widthSize)
        .height(this.heightSize)
        .margin(30)
        .onClick(()=>{
          if (this.flag) {
            this.getUIContext().animateTo({
              duration: 200, //2000毫秒
              curve: Curve.EaseOut, //快速开始,逐渐减速到终点
              iterations: 1, //重复1次
              playMode: PlayMode.Normal, //正常播放从头到尾
              onFinish:()=>{
                console.log('play end')
              }
            },()=>{
              this.widthSize = 150
           
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹小满2579

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值