鸿蒙Harmony应用开发—ArkTS-属性动画

组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。布局类改变宽高的动画,内容都是直接到终点状态,例如文字、canvas的内容、linearGradient等,如果要内容跟随宽高变化,可以使用renderFit属性配置。

说明:

从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

animation(value: {duration?: number, tempo?: number, curve?: string | Curve | ICurve, delay?:number, iterations?: number, playMode?: PlayMode, onFinish?: () => void})

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

参数:

名称参数类型必填描述
durationnumber动画时长,单位为毫秒。
默认值:1000
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
- 在ArkTS卡片上最大动画持续时间为1000毫秒。
- 设置小于0的值时按0处理。
- 设置浮点型类型的值时,向下取整。例如,设置值为1.2,按照1处理。
temponumber动画播放速度。数值越大,动画播放速度越快,数值越小,播放速度越慢。
值为0时,表示不存在动画。
默认值:1
说明:
当设置小于0的值时按值为1处理。
curvestring | Curve | ICurve9+设置动画曲线。
默认值:Curve.EaseInOut
从API version 9开始,该接口支持在ArkTS卡片中使用。
delaynumber动画延迟播放时间。单位为毫秒,默认不延时播放。
默认值:0
取值范围:(-∞, +∞)
说明:
- delay>=0为延迟播放,delay<0表示提前播放。对于delay<0的情况:当delay的绝对值小于实际动画时长,动画将在开始后第一帧直接运动到delay绝对值的时刻的状态;当delay的绝对值大于等于实际动画时长,动画将在开始后第一帧直接运动到终点状态。其中实际动画时长等于单次动画时长乘以动画播放次数。
- 设置浮点型类型的值时,向下取整。例如,设置值为1.2,按照1处理。
iterationsnumber动画播放次数。
默认值:1
取值范围:[-1, +∞)
说明:
设置为-1时表示无限次播放。设置为0时表示无动画效果。
playModePlayMode动画播放模式,默认播放完成后重头开始播放。
默认值:PlayMode.Normal
从API version 9开始,该接口支持在ArkTS卡片中使用。
相关使用约束请参考PlayMode说明。
onFinish() => void结束回调,动画播放完成时触发。
从API version 9开始,该接口支持在ArkTS卡片中使用。
说明:
当iterations设置为-1时,动画效果无限循环不会停止,所以不会触发此回调。

PlayMode说明:

  • PlayMode推荐使用PlayMode.Normal和PlayMode.Alternate,此场景下动画的第一轮是正向播放的。如使用PlayMode.Reverse和PlayMode.AlternateReverse,则动画的第一轮是逆向播放的,在动画刚开始时会跳变到终止状态,然后逆向播放动画。
  • 使用PlayMode.Alternate或PlayMode.AlternateReverse时,开发者应保证动画最终状态和状态变量的取值一致,即应保证动画的最后一轮是正向播放的。使用PlayMode.Alternate时,iterations应为奇数。使用PlayMode.AlternateReverse时,iterations应为偶数。
  • 不推荐使用PlayMode.Reverse,此场景下不仅会导致动画刚开始就跳变到终止状态,也会导致动画最终状态和状态变量的取值不同。

示例

// xxx.ets
@Entry
@Component
struct AttrAnimationExample {@State widthSize: number = 250@State heightSize: number = 100@State rotateAngle: number = 0@State flag: boolean = truebuild() {Column() {Button('change size').onClick(() => {if (this.flag) {this.widthSize = 150this.heightSize = 60} else {this.widthSize = 250this.heightSize = 100}this.flag = !this.flag}).margin(30).width(this.widthSize).height(this.heightSize).animation({duration: 2000,curve: Curve.EaseOut,iterations: 3,playMode: PlayMode.Normal})Button('change rotate angle').onClick(() => {this.rotateAngle = 90}).margin(50).rotate({ angle: this.rotateAngle }).animation({duration: 1200,curve: Curve.Friction,delay: 500,iterations: -1, // 设置-1表示动画无限循环playMode: PlayMode.Alternate})}.width('100%').margin({ top: 20 })}
}

animation

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英国政府发布云SCADA(数据采集与监控系统)安全指南

近期&#xff0c;英国国家网络安全中心 (NCSC) 发布了安全指南&#xff0c;用以帮助使用运营技术 (OT) 的组织确定是否应将其监控和数据采集 (SCADA) 系统迁移到云端。 出于安全原因&#xff0c;SCADA 系统传统上与互联网甚至本地企业网络隔离&#xff0c;但云可以提供许多好处…

在家有电脑手机怎么赚钱?整理了六种在家做副业的方法

如果你在家空闲时间比较多&#xff0c;有电脑有手机&#xff0c;一定要做的六种副业&#xff01; 无论你现在是什么身份&#xff0c;如果能够利用自己的空余时间&#xff0c;去做一份副业&#xff0c;那么你的自信心会得到大大地提升&#xff01; 分享六种我觉得很值得尝试的副…

JDBC基础(CRUD)使用详解(mysql)

1. 什么是JDBC JDBC,即Java Database Connectivity,java数据库连接.是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范.这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访…

Docker安装部署RabbitMQ(单机版)

文章目录 1.1.下载镜像1.2.安装MQ 本篇文章探讨的是单机部署 环境:Centos7 1.1.下载镜像 方式一&#xff1a;在线拉取 docker pull rabbitmq:3.8-management方式二&#xff1a;从本地加载 【1】将该镜像包上传到虚拟机的tmp目录 【2】上传到虚拟机中后&#xff0c;切换到存…

词令直达微信二维码如何生成关键词口令?

什么是词令直达微信二维码&#xff1f; 词令直达微信二维码是指商家生成指定的词令关键词口令后&#xff0c;可将商家的个人微信、企业微信、微信群、微信公众号、微信小程序等二维码关联到已生成的词令。用户使用词令微信小程序关键词口令直达工具&#xff0c;输入商家的词令…

MySQL表的增删改查---多表查询和联合查询

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

冰岛人[天梯赛]

文章目录 题目描述思路AC代码 题目描述 输入样例 15 chris smithm adam smithm bob adamsson jack chrissson bill chrissson mike jacksson steve billsson tim mikesson april mikesdottir eric stevesson tracy timsdottir james ericsson patrick jacksson robin patrickss…

ORA-600 2662快速恢复之Patch scn工具---惜分飞

有客户数据库启动报ORA-600 2662错误 SQL> recover database; 完成介质恢复。 SQL> alter database open ; alter database open * 第 1 行出现错误: ORA-00603: ORACLE server session terminated by fatal error ORA-00600: internal error code, arguments: [2662], […

AI如何支持慈善组织

为各种有意义的事业提供支持&#xff0c;无论是努力寻找治愈疾病的方法、研发使生活更轻松的技术&#xff0c;还是为有需要的人提供服务&#xff0c;都是无比崇高的使命。提供捐款或是投入时间支持的捐助者和志愿者往往对他们选择支持的事业的目标、服务和资源分配存有诸多疑虑…

Linux系统如何使用tcpdump实时监控网络速度:方法与技巧解析

在网络管理和故障排查中&#xff0c;了解网络速度是一个重要的环节。而tcpdump&#xff0c;作为一个强大的网络数据包分析工具&#xff0c;不仅可以用于分析数据包的内容&#xff0c;还能用于实时监控网络速度。本文将介绍Linux系统如何使用tcpdump来实时监控网络速度。 首先&…

工大智信智能听诊智慧医疗的创新

智能听诊器&#xff0c;智慧医疗的新突破 工大智信智能听诊器是一款结合了先进技术和医疗专业知识的创新产品。它以其独特的优势&#xff0c;为医疗行业带来了前所未有的突破和变革。 传统听诊器依赖于医生的主观判断和经验&#xff0c;而工大智信智能听诊器采用了先进的传感技…

CV论文--2024.3.21

1、Chain-of-Spot: Interactive Reasoning Improves Large Vision-Language Models 中文标题&#xff1a;Chain-of-Spot&#xff1a;交互式推理改进大型视觉语言模型 简介&#xff1a;在视觉语言理解领域&#xff0c;模型在解释和推理视觉内容方面的熟练程度已经成为许多应用的…

vue学习笔记27-组件生命周期⭐

每个vue组件实例在创建时都需要经历一系列初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xff0c;挂载实列到DOM&#xff0c;以及在数据改变时更新DOM。在此过程中&#xff0c;它也会运行称为生命周期钩子的函数&#xff0c;让开发者有机会在特定阶段运行自…

⾃定义类型:结构体

大家好我们今天学习的是结构体&#xff0c;话不多说。上车吧&#xff01;&#xff01;&#xff01; 文章目录 1. 结构体类型的声明2. 结构体变量的定义创建和初始化3. 结构成员访问操作符4. 结构体内存对⻬5. 结构体传参6. 结构体实现位段 前言 C语言中类型有很多&#xff0c;…

【Linux】Bash支持各种指令选项的原理:命令行参数

前言 大家好吖&#xff0c;欢迎来到 YY 滴Linux系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《…

Linux常用命令之文件权限类

1.1 Linux的文件属性 在Linux里使用ll或者ls-l命令来显示一个文件的属性以及文件所属的用户和组。 以-开头&#xff1a;普通文件 以d开头&#xff1a;目录 以l开头&#xff1a;链接 以c开头&#xff1a;字符类型的设备文件(例如&#xff1a;鼠标、键盘&#xff0c;他们输入…

排序算法:归并排序(递归)

文章目录 一、归并排序的思路二、代码编写 先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;^ _ ^<3 ❤️ ❤️ ❤️ 码字不易&#xff0c;大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦&#xff01; 所属专栏:排序算法 一、归并排序的思路 单…

nRF Sniffer 在Wireshark中的使用

一、简介 使用nRF Sniffer在wireshark中抓包是经常使用的。但是每次抓包会获取到空气中所有的数据包&#xff0c;数据量非常大。而对于开发人员而言&#xff0c;只需要其中特定的信息。此时就需要掌握数据的过滤语句。 二、过滤 1.根据MAC地址进行过滤 btle.advertising_add…

2023年蓝桥杯省赛——平方差

目录 题目链接&#xff1a;1.平方差 - 蓝桥云课 (lanqiao.cn) 思路 暴力偷分 发现规律 发现蹊跷 总结 题目链接&#xff1a;1.平方差 - 蓝桥云课 (lanqiao.cn) 思路 咱就是说&#xff0c;写蓝桥杯的题目的第一件事情是什么&#xff0c;那就是不管三七二十一先暴力一下把能…

【爬虫】web自动化和接口自动化

专栏文章索引&#xff1a;爬虫 目录 一、介绍 二、推荐 1.接口自动化 2.Web自动化 一、介绍 爬虫技术一般可以分为两种类型&#xff1a;接口自动化和web自动化。下面是它们的简要介绍&#xff1a; 1.接口自动化 接口自动化技术的主要目的是通过模拟HTTP请求来实现自动化…