首页 > 其他分享 >十九、显示动画-位置改变

十九、显示动画-位置改变

时间:2023-12-26 11:24:58浏览次数:24  
标签:动画 ArkTS 播放 位置 height width 默认值 十九

ArkUI中,产生动画的方式是改变属性值且指定动画参数。动画参数包含了如动画的时长、变化规律(即曲线)等参数,当属性值发生变化后,按照动画参数,从原来的状态过渡到新的状态,即形成一个动画。

AnimateParam对象说明

名称 类型 描述
duration number

动画持续时间,单位为毫秒。

默认值:1000

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

- 在ArkTS卡片上最大动画持续时间为1000毫秒。

- 设置浮点类型的值时,向下取整。例如:设置值为1.2,按照1处理。

tempo number

动画的播放速度,值越大动画播放越快,值越小播放越慢,为0时无动画效果

默认值:1.0

cure

Curve |

ICure |

string

动画曲线。

默认值:Curve.EaseInOut

从API version 9开始,该接口支持在ArkTS卡片中使用。

delay number

单位为ms(毫秒),默认不延时播放。

默认值:0

说明:

- 设置浮点类型的值时,向下取整。例如:设置值为1.2,按照1处理。

iterations number

默认播放一次,设置为-1时标识无限此播放。

默认值:1

playMode PlayMode

设置动画播放模式,默认播放完成后重头开始播放。

默认值:PlayMode.Normal

从API version 9 开始,该接口支持在ArkTS卡片中使用。

相关使用约束请参考PlayMode说明。

onFinish ()=>void

动效播放完成回调。
从API version 9开始,该接口支持在ArkTS卡片中使用。

案例代码:

@Entry
@Component
struct AnimateTo1 {
  @State itemAlign:HorizontalAlign = HorizontalAlign.Start;

  build() {
   Column({space:30}){
     Text('点击修改布局位置')
       .fontSize(30)
       .margin({top:20})
     Column({space:10}){
       Button('帝心').width(100).height(50)
       Button('庄生').width(100).height(50)
       Button('周道').width(100).height(50)
     }
     .margin(20)
     .borderWidth(2)
     .width('90%')
     .height(400)
     .justifyContent(FlexAlign.Center)
     .alignItems(this.itemAlign)

     Button('click')
       .onClick(() => {
         //动画函数
          animateTo({
            duration:1000,
            curve:Curve.Linear,
            //delay:2000, //延迟动画
            //iterations:-1,//无限动画循环
            playMode:PlayMode.Alternate,
            onFinish: () => {
                //动画结束的回调函数
            }
          }, () => {
            //1.修改位置属性值
            this.itemAlign = HorizontalAlign.End

          })
       })
       .fontSize(30)
   }
    .width('100%')
    .height('100%')
  }
}

 

标签:动画,ArkTS,播放,位置,height,width,默认值,十九
From: https://www.cnblogs.com/ckfuture/p/17927720.html

相关文章

  • lottie 动画在 vue 中的使用
    前言最近我所负责的项目中,我采用了动画效果,并开始使用gif来实现。然而,在实践过程中,我发现gif格式的动画在git中出现了明显的锯齿感,这让我非常困扰。为了追求更完美的表现效果,我最终选择了lottie来实现我的动画需求。我深知动画效果的呈现对于用户体验至关重要,因此我非常......
  • Flutter Icons交错动画
    import'package:flutter/material.dart';classAnimateIconsextendsStatelessWidget{constAnimateIcons({super.key});@overrideWidgetbuild(BuildContextcontext){returnScaffold(appBar:AppBar(title:constText(�......
  • Unity引擎2D游戏开发,野猪基本的移动逻辑和动画
    一、类的继承在Scripts下创建Enemy文件夹,里面再创建两个C#文件将Boar文件内的代码修改为以下代码,:后的是Enemy,即继承了Enemy类publicclassBoar:Enemy{}在Enemy内,编写基本属性publicclassEnemy:MonoBehaviour{[Header("基本参数")]//基本移动速度......
  • [CSS]动画,平移到某个位置,停住
    animation-fill-mode:forwards; <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><......
  • 更改Docker的存储位置
    停止Docker服务systemctlstopdocker或者systemctlstopdocker.socket编辑Docker配置文件vi/etc/docker/daemon.json添加内容{"data-root":"/data/docker/data"}保存并关闭配置文件,并服务程序配置文件生效systemctlrestartdocker.socketsystemctlstopdocker.socket......
  • Unity3D UI帧动画详解
    nity3D是一款非常强大的游戏开发引擎,它提供了丰富的功能和工具,使开发者能够轻松创建各种类型的游戏。其中,UI(UserInterface)是游戏开发中非常重要的一部分,它用于展示游戏中的各种信息和交互元素。在Unity3D中,我们可以使用UI帧动画来创建各种炫酷的UI效果。本文将详细介绍Unity3D中U......
  • Java登陆第二十九天——HttpServletRequest和HttpServletResponse
    HttpServletRequestTomcat会自动将客户端请求报文封装为HttpServletRequest对象。HttpServletRequest中请求行常用方法方法描述StringgetMethod()获取请求方法StringgetProtocol()获取请求协议及版本号StringgetRequestURI()获取请求的具体资源StringB......
  • 【力扣】-35. 搜索插入位置|刷题打卡-JS
    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输出:1示例......
  • java 判断某个英文字母在26个英文字母的哪个位置
    判断某个英文字母在26个英文字母的哪个位置介绍在Java中,我们可以通过一些简单的操作来判断一个英文字母在26个英文字母中的位置。在本文中,我们将详细介绍如何实现这一功能,并提供相应的代码示例。实现步骤以下是判断某个英文字母在26个英文字母中位置的步骤:将字母转换为小写字......
  • Java登陆第二十九天——ServletConfig和ServletContext
    ServletConfigServletConfig是web.xml中,Servlet的初始化参数对象(每个Servlet都有一个ServletConfig对象)web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://ww......