HarmonyOS7 属性动画基础:animateTo 驱动透明度与位移动画
文章目录前言基础概念animateTo vs .animation()从简到繁透明度动画位移动画组合复位代码详解完整状态管理动画目标组件按钮控制面板实时数值显示Curve 曲线对比常见问题进阶技巧写在最后前言ArkUI 有两种动画模式声明式动画.animation()和显式动画animateTo。前者适合状态变化自动过渡的场景后者适合在特定时刻触发动画的场景。今天聊animateTo的基础用法用透明度和位移两个属性来入门。基础概念animateTo vs .animation()特性.animation()animateTo触发方式状态变化自动触发手动调用触发代码位置组件属性事件回调中适用场景属性跟随状态变化点击按钮触发动画多次触发每次值变化都触发只在调用时触发animateTo的函数签名animateTo({duration:500,curve:Curve.EaseInOut},(){// 在这里修改状态变量修改会走动画})第一个参数是动画配置第二个是回调函数。回调里修改的状态变量会以动画方式过渡到新值。从简到繁透明度动画Button(淡出).onClick((){animateTo({duration:500,curve:Curve.EaseInOut},(){this.opacityValue0.2})})Button(淡入).onClick((){animateTo({duration:500,curve:Curve.EaseInOut},(){this.opacityValue1})})点击淡出时opacityValue从 1 渐变到 0.2持续 500ms使用EaseInOut曲线先慢后快再慢。位移动画Button(右移).onClick((){animateTo({duration:600,curve:Curve.EaseOut},(){this.offsetX60})})方块向右平移 60vpEaseOut曲线让运动先快后慢有减速感。组合复位Button(复位).onClick((){animateTo({duration:500,curve:Curve.FastOutLinearIn},(){this.opacityValue1this.offsetX0})})一个animateTo调用里同时修改多个状态变量透明度和位移会同时做过渡动画。FastOutLinearIn曲线快速开始然后线性减速。代码详解完整状态管理EntryComponentstruct BasicPropertyAnimation{StateopacityValue:number1StateoffsetX:number0// ...}只需要两个状态变量一个控制透明度一个控制水平偏移。动画目标组件Column().width(80).height(80).backgroundColor(#6BCB77).borderRadius(12).opacity(this.opacityValue).translate({x:this.offsetX}).opacity()和.translate()都是可动画属性——框架知道怎么在两个值之间做插值。按钮控制面板Row({space:12}){Button(淡出).onClick((){/* ... */})Button(淡入).onClick((){/* ... */})Button(右移).onClick((){/* ... */})Button(复位).onClick((){/* ... */})}.width(100%).justifyContent(FlexAlign.SpaceEvenly).margin({top:12})四个按钮一字排开用Row({ space: 12 })设置间距SpaceEvenly均匀分布。实时数值显示Text(当前透明度:${this.opacityValue.toFixed(1)}| 偏移:${this.offsetX}vp).fontSize(12).fontColor(#999999).margin({top:12})动画过程中数值是连续变化的。toFixed(1)保留一位小数显示更整洁。Curve 曲线对比这个案例用到了三种曲线对比一下Curve运动特点视觉效果EaseInOut先慢后快再慢最自然适合大多数过渡EaseOut先快后慢有减速感适合停下来FastOutLinearIn快速启动线性减速有点冲的感觉选曲线的原则入场/出现用EaseOut快速出现慢慢停稳出场/消失用EaseIn慢慢开始快速消失状态切换用EaseInOut平滑过渡常见问题QanimateTo 的回调里能写异步操作吗不能。回调里只应该写状态变量的赋值操作。异步操作放在animateTo外面。Q动画还没结束又触发了新动画新动画会打断旧动画从当前值开始过渡到新目标值。不会叠加。Q怎么知道动画结束了animateTo的第一个参数支持onFinish回调animateTo({duration:500,curve:Curve.EaseInOut,onFinish:(){console.info(动画完成)}},(){this.opacityValue0.2})animateTo的回调函数里不要写非状态修改的代码比如网络请求、日志打印。它的作用是告诉框架哪些状态变量需要做动画不是通用的回调。进阶技巧链式动画在onFinish里触发下一个animateTo形成动画序列。不同属性不同时长如果需要透明度和位移用不同的动画时长可以分两次animateTo调用。延迟启动用setTimeout包裹animateTo实现延迟动画或者用animateTo的delay参数。写在最后animateTo是 ArkUI 动画系统的手动模式给你精确的触发控制。配合Curve曲线和duration时长能做出各种节奏感不同的动画效果。今天用透明度和位移入了门后面的文章会在这个基础上扩展到缩放、旋转、颜色变化等更多属性。

相关新闻

FreeRDP曝高危堆缓冲区溢出漏洞:wfreerdp客户端遭弃用,远程代码执行风险急剧上升

FreeRDP曝高危堆缓冲区溢出漏洞:wfreerdp客户端遭弃用,远程代码执行风险急剧上升

开源远程桌面协议实现FreeRDP最近爆出一记重锤。安全研究团队对外公开了完整的漏洞细节,连带概念验证代码也一并放出。这意味着全球范围内依赖这款工具进行日常远程运维的企业和个人,正面临一场实打实的安全风暴。 这个漏洞的棘手之处在于,它…

2026/7/23 22:17:39阅读更多 →
HarmonyOS7 宽度动画与进度条:animateTo 驱动百分比宽度变化

HarmonyOS7 宽度动画与进度条:animateTo 驱动百分比宽度变化

文章目录前言效果展示布局方案代码详解状态变量进度条组件百分比数字控制按钮数字滚动动画进阶样式渐变色进度条条纹动画分段进度条常见问题写在最后前言 进度条是 UI 里最常见的动画场景之一——下载进度、上传进度、表单填写完成度。ArkUI 里做进度条动画有个很巧的方式&…

2026/7/23 22:17:39阅读更多 →
PCB/FPC 智能拼版:四层级计算链路与多边形放置引擎的设计与实现

PCB/FPC 智能拼版:四层级计算链路与多边形放置引擎的设计与实现

PCB/FPC 智能拼版:四层级计算链路与多边形放置引擎的设计与实现 一、问题背景 在 PCB(印制电路板)和 FPC(柔性线路板)制造行业,板材原材料成本在总生产成本中占比极高。拼版排版这道工序,决定…

2026/7/23 22:15:38阅读更多 →
鸿蒙 ArkTS 实战:回收物预约分类的状态驱动界面与业务计算

鸿蒙 ArkTS 实战:回收物预约分类的状态驱动界面与业务计算

鸿蒙 ArkTS 实战:回收物预约分类的状态驱动界面与业务计算 前言 回收物名称、重量、纸塑金属分类和预约记录,是一个围绕日常生活场景设计的鸿蒙单页工具。 本文以 entry/src/main/ets/pages/Index.ets 为入口,按照页面真实代码展开&#xff0…

2026/7/24 1:00:19阅读更多 →
LangChain Runnable 完整深度解读

LangChain Runnable 完整深度解读

LangChain Runnable 完整深度解读适配:LangChain 0.1.x/ 0.2.x 新版体系,LCEL(LangChain Expression Language)的底层基石 前置认知:所有你写的 prompt | llm | parser | retriever,每一环都是 Runnable一、…

2026/7/24 0:58:19阅读更多 →
2026年实战指南:图片格式图纸识别技术在质量检验计划中的应用

2026年实战指南:图片格式图纸识别技术在质量检验计划中的应用

2026 年,在制造业数字化转型步入深水区的背景下,图片格式图纸识别(image format drawing recognition)已成为质量管理部门提升效率的关键技术。尽管 3D MBD(基于模型的定义)在高端制造领域普及,…

2026/7/24 0:58:19阅读更多 →
在天津挑选专业标书制作机构,这些实用判断技巧很值得大家参考

在天津挑选专业标书制作机构,这些实用判断技巧很值得大家参考

对于天津不少工程服务商、政企供应商、中小微企业经营者来说,投标过程里最可惜的事,莫过于前期攒资质、跑对接、做测算花了几个月功夫,最后因为标书制作的疏漏,要么直接被废标,要么差两三分与项目失之交臂。来自天津公…

2026/7/24 0:56:18阅读更多 →
400电话多场景架构适配与企业选型实战:从热线接待、中转分流到风控合规落地

400电话多场景架构适配与企业选型实战:从热线接待、中转分流到风控合规落地

标签:#400电话 #企业热线 #语音中继 #呼叫路由 #客服架构 #通信场景化落地阅读对象:后端开发、通信架构师、IT运维、系统集成、企业客服项目交付人员摘要:大部分企业对400电话的认知仅停留在“品牌热线”层面,忽略了其路由架构、并…

2026/7/24 0:54:18阅读更多 →
Python「假多态」与 C++「真多态」的核心区别

Python「假多态」与 C++「真多态」的核心区别

目录 Python「假多态」与 C「真多态」的核心区别 一、先搞懂:C 的「真多态」是什么? 1. 核心实现机制 2. 必须满足的 3 个条件 3. 核心特点 4. C 多态示例代码 二、Python 的「假多态」为什么是「假」的? 1. 核心本质:鸭子…

2026/7/24 0:52:18阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →