HarmonyOS--属性动画和显示动画

动画-组件参考(基于ArkTS的声明式开发范式)-ArkTS API参考 | 华为开发者联盟 (huawei.com)

在HarmonyOS的ArkUI开发框架中,动画主要分为两种类型:属性动画(Property Animation)和显示动画(Explicit Animation)。

属性动画

属性动画是通过直接修改组件的样式属性并应用animation属性来实现动画效果。当开发者动态地更改一个组件(如Button、Image等)的尺寸、透明度、背景颜色等样式属性时,如果设置了相应的动画配置,ArkUI会自动填充这些属性变化过程中的每一帧画面,形成平滑的过渡效果。

例如,可以通过设置组件的animation属性来指定动画的执行方式,比如淡入淡出、大小变化等,并且可以控制动画的执行时长、缓动函数等参数。

// ArkUI示例代码
//btn:动画start//  
Button('动画按钮')  .onClick(() => {  if (this.flag) {  this.btnWidth = 200  this.btnHeight = 50  }  else {  this.btnWidth = 100  this.btnHeight = 20  }  this.flag = !this.flag  // 调转标志位 实现动画循环  })  .width(this.btnWidth) // 改变宽度  .height(this.btnHeight) // 改变高度  .animation({  // 动画属性  duration:2000,  curve: Curve.EaseOut,  iterations: 1,  playMode: PlayMode.Normal,  tempo:2  })  
//btn:动画end//

但是需要注意的是,animation属性最好写在整体属性之后,尤其是设置动画的属性之后,属性动画-动画-组件参考(基于ArkTS的声明式开发范式)-ArkTS API参考 | 华为开发者联盟 (huawei.com)

显式动画

显示动画则是通过调用全局动画方法如animateTo来明确指定一组动画操作。这种情况下,开发者需要手动编写动画序列,并明确开始和结束的状态,以及动画的具体行为。

// ArkUI 示例代码(伪代码)
import { animateTo } from '@ohos/anim';// 使用显式动画改变组件宽度
async function animateWidthChange(elementRef) {const startSize = elementRef.getWidth();const endSize = 200;// 创建动画参数对象const params = {duration: 500,timingFunction: 'linear',curve: '', // 可选的贝塞尔曲线delay: 0,iterations: 1,fillMode: '',direction: '',animations: [{property: 'width',value: [startSize, endSize],}],};// 执行动画await animateTo(elementRef, params);
}

总结来说,在ArkUI中,属性动画主要用于简单直观地处理单个或多个样式属性的变化,而显示动画则提供了更多的自定义选项和精细控制,能够创建更复杂的动画场景。

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

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

相关文章

Tensorflow2.0笔记 - Tensor的限值clip操作

本笔记主要记录使用maximum/minimum,clip_by_value和clip_by_norm来进行张量值的限值操作。 import tensorflow as tf import numpy as nptf.__version__#maximum/minimumz做上下界的限值 tensor tf.random.shuffle(tf.range(10)) print(tensor)#maximum(x, y, nameNone) #对…

贪吃蛇---C语言---详解

引言 C语言已经学了不短的时间的,这期间已经开始C和Python的学习,想给我的C语言收个尾,想起了小时候见过别人的老人机上的贪吃蛇游戏,自己父母的手机又没有这个游戏,当时成为了我的一大遗憾,这两天发现C语…

Filebeat日志采集到Logstash再到Elasticsearch集群

一、安装Logstash Logstash我也是在/data下创建了个logstash目录 和Filebeat一样去官网找到你相应的版本下载并解压,点击链接跳转官网:Logstash curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-linux-x86_64.tar.gz tar -zxvf logstash-7.1…

【LeetCode】每日一题 2024_1_30 使循环数组所有元素相等的最少秒数(哈希、贪心、扩散)

文章目录 LeetCode?启动!!!题目:使循环数组所有元素相等的最少秒数题目描述代码与解题思路 LeetCode?启动!!! 今天的题目类型差不多是第一次见到,原来题目描述…

【PyCharm教程】PyCharm 安装、卸载和升级包

PyCharm 为特定的 Python 解释器提供了安装、卸载和升级 Python 包的方法。默认情况下,PyCharm 使用 pip 来管理项目包。对于 Conda 环境,您可以使用conda 包管理器。 在 PyCharm 中,您可以在Python 包工具窗口和 Python 解释器Settings/Pre…

化工企业能源在线监测管理系统,能源管理新利器

化工企业在开展化工生产活动时,能源消耗量较大,其节能潜力空间也较大,因此必须控制能耗强度,促进能效水平的稳步提升。化工企业通过能源现状的分析,能够实现能源使用情况的实时反馈与监管,从而达到节能减排…

直播不仅可以带货,还可以远程协作

直播是一种非常直观高效的信息共享模式,目前直播带货比较火,但我也不懂,现就我涉及的领域和实践做一些分享,目前我所做的直接互动分发系统在软硬件全系统闭环下,结合100ms级的低延迟,基本可以让人有深入其境…

洛宁县王范回族镇中原村新时代文明实践站工程竞争性谈判公告

洛宁县王范回族镇中原村新时代文明实践站工程竞争性谈判公告 (招标编号:HNSC-2024-004) 项目所在地区:河南省,洛阳市,洛宁县 一、招标条件 本洛宁县王范回族镇中原村新时代文明实践站工程已由项目审批/核准/备案机关批准,项目资金来源为国有资…

全志R128基础组件开发——显示与屏幕驱动②

sys_config 参数说明 LCD 接口参数说明 lcd_driver_name Lcd 屏驱动的名字(字符串),必须与屏驱动的名字对应。 lcd_model_name Lcd 屏模型名字,非必须,可以用于同个屏驱动中进一步区分不同屏。 lcd_if Lcd Inte…

Trinamic推出步进电机低压微型电机驱动芯片

前言 TRINAMIC运动控制有限公司宣布推出全球最小的具有专利技术StealthChop™的单芯片电机驱动器。TMC2300为2相步进电机设置了高达1.2A RMS的标准和1.8V…11V DC的电压范围,它只需最低的功耗,让人根本觉察不到有电机的存在。 从现在开始,您只…

手把手教测试,全网内容最全最深-jmeter-Recording Controller(录制控制器)

5.1.6.14.Recording Controller(录制控制器) 第一步: 第二步:点击启动按钮,生成证书。证书在jmeter的bin目录下。 第三步:设置代理 第四步:抓取https包需要安装证书,在浏览器edge中安装 未完待续。。。 手…

防火墙的基础知识点

目录 1. 防火墙的定义: 2. 防火墙分类: 3. 防火墙的发展进程: 3.1传统防火墙 (包过滤防火墙)---一个严格的规则表: 3.2传统防火墙(应用代理防火墙)---每个应用添加代理 3.3传统防火墙 (状态检测防火墙)---首次检建立会话表…

advPython-2

网络编程(基于TCP协议) 基础(1) 文件名: myprofile.py iaap ("127.0.0.1", 8002)文件名: server.py """ CS架构(client\server)最基本知识 """ import socket from myprofile_1 import iaap# 1.创建socket对象(下面两个参数不写默…

【MBtiles数据索引和服务发布】GeoServer改造Springboot番外系列二

xyz地图服务访问示例:http://192.168.1.240:8081/gmserver/raster/xyz/firstWP:Imagery-raster/{z}/{x}/{y}.jpg 访问示例如下: mbtiles目录结构 根据z,x,y获取对应mbtiles文件路径的工具方法 说明:重点是使用getMb…

数据结构总结

数据结构总结 数据结构系列的文章从基本数据类型到数据结构,涵盖整型、布尔值、字符串、列表、元组、字典、集合、堆、栈、链表、树和图,以及队列和环等相关内容。 这里再补充一点:树和图都有更高阶的“玩法”,那就是加权——为每…

面对近期行情大起大落的伦敦银需要关注什么?

近期经常有听到投资者抱怨说,伦敦银价格没有明显趋势,很难做。确实,我们从日线图看,金价处于一个比较宽幅的横盘区间当中,近期的行情也是大涨大跌。投资者认为,面对大起大落的行情无从下手。下面我们就来讨…

必读人工智能数据管理的要点!

人工智能数据管理指企业如何管理系统中的数据。它是企业整体AI治理框架的关键组成部分。 在数据治理中,您可能希望包括以下要素: 可用性 数据提供给有需求的人员访问和使用。本文将回答企业中可访问数据人员的问题。 易用性 数据是结构化、已标注且…

SQL Server 函数参考手册

目录 SQL Server 字符串函数 SQL Server 数值函数 SQL Server 日期函数 SQL Server 高级函数 SQL Server 字符串函数 函数描述ASCII返回特定字符的 ASCII 值CHAR根据ASCII码返回字符CHARINDEX返回子字符串在字符串中的位置CONCAT将两个或多个字符串加在一起Concat with 将…

K8S故障临时设置节点为不可调度

一、K8s节点驱逐 节点驱逐是指将节点上运行的Pod迁移到其他可用节点上,并暂时从集群中移除目标节点。这个操作通常在节点维护、系统升级、硬件故障或者其它需要暂时离线节点的场景下使用。 二、使用场景 节点维护 在进行节点维护时,需要将节点暂时移除&…

河南省考后天网上确认,请提前准备证件照哦

✔报名时间:2024年1月18号一1月24号 ✔报名确认和缴费:2024年1月 31号一2月4号 ✔准考证打印:2024年3月12号一3月17号 ✔笔试时间:2024年3月16日-2024年3月17日。 ✔面试时间:面试时间拟安排在2024年5月中旬 报名网址&…