HarmonyOS 动画与过渡效果:animateTo 与 transition
适用版本HarmonyOS 6.1API 12及以上验证环境Pura 90 Pro 模拟器HarmonyOS 6.1.1API 24关键概念animateTo、transition、Curve、.animation()、TransitionType前言ArkUI 的动画系统分两类属性动画改变组件属性时平滑过渡和组件过渡组件出现/消失时的动画。本文演示两种最常用的方式animateTo()和transition修饰符。一、animateTo — 属性动画animateTo在闭包内修改状态变量ArkUI 自动在新旧值之间插值渲染帧// 点击按钮时放大方块 Button(放大) .onClick(() { animateTo( { duration: 400, curve: Curve.EaseOut }, // 动画参数 () { this.boxWidth 140 // 这里的赋值会被动画化 this.boxHeight 140 } ) }) // 组件绑定 .animation() 也可以实现同效果更简洁 Text() .width(this.boxWidth) .height(this.boxHeight) .animation({ duration: 500, curve: Curve.EaseInOut })二、animateTo 参数详解animateTo( { duration: 400, // 持续时间毫秒 curve: Curve.EaseOut, // 缓动曲线 delay: 200, // 延迟开始毫秒 iterations: 1, // 重复次数-1 无限循环 playMode: PlayMode.Normal, // Normal | Reverse | Alternate onFinish: () { /* 动画结束回调 */ } }, () { // 在此闭包内修改 State 变量 this.boxColor #e74c3c } )三、常用缓动曲线曲线效果Curve.Linear匀速无缓动Curve.Ease先慢后慢中间快Curve.EaseIn由慢到快Curve.EaseOut由快到慢Curve.EaseInOut先慢后慢对称Curve.FastOutSlowInMaterial Design 标准曲线Curve.Smooth柔和过渡四、transition — 组件出现/消失过渡配合if条件渲染组件挂载/卸载时自动播放过渡动画State showCard: boolean false Button(显示/隐藏卡片) .onClick(() { animateTo({ duration: 350, curve: Curve.EaseInOut }, () { this.showCard !this.showCard }) }) if (this.showCard) { Column() { Text(过渡卡片内容) } .transition({ type: TransitionType.Insert, // 出现时 translate: { y: -20 }, // 从上方 20px 滑入 opacity: 0 // 从透明淡入 }) .transition({ type: TransitionType.Delete, // 消失时 translate: { y: -20 }, opacity: 0 }) }五、序列动画多个 animateTo 配合 delayplaySequence(): void { // 第1步向右移动 animateTo({ duration: 400, curve: Curve.EaseOut }, () { this.translateX 100 }) // 第2步400ms 后放大 半透明 animateTo({ duration: 300, delay: 400, curve: Curve.EaseInOut }, () { this.circleRadius 60 this.opacity 0.5 }) // 第3步700ms 后弹回 animateTo({ duration: 500, delay: 700, curve: Curve.EaseOut }, () { this.translateX -60 this.circleRadius 40 this.opacity 1.0 }) // 第4步1200ms 后归位 animateTo({ duration: 400, delay: 1200, curve: Curve.EaseIn }, () { this.translateX 0 }) }六、常用可动画属性属性说明width、height尺寸变化opacity透明度backgroundColor背景色渐变rotate({ angle })旋转scale({ x, y })缩放offset({ x, y })位移相对原位置borderRadius圆角变化模拟器运行截图初始状态animateTo 选项卡属性动画执行后点击「放大」按钮后方块以 EaseOut 曲线在 400ms 内平滑放大点击「旋转」后方块旋转 90°多次点击可叠加效果。常见问题QanimateTo和.animation()有什么区别AanimateTo命令式精确控制哪次变化要动画、用什么参数适合点击事件触发的动画.animation()声明式绑定在组件上该组件的所有属性变化都走这套动画配置简单但不能逐次区分Q如何实现无限循环动画如旋转 Loading 图标A设置iterations: -1和playMode: PlayMode.AlternateanimateTo({ duration: 1000, iterations: -1, playMode: PlayMode.Alternate }, () { this.rotate this.rotate 360 })Qtransition只支持出现和消失动画能做页面切换吗Atransition适合组件级别。页面级切换动画应使用Navigation组件的navDestination 路由过渡 API或配置router.pushUrl的转场效果。上一篇Provide/Consume 跨组件通信下一篇HTTP 网络请求

相关新闻

深圳地铁车辆编码解析:从02A2406株262车看运营技术体系

深圳地铁车辆编码解析:从02A2406株262车看运营技术体系

最近在深圳乘坐地铁2号线时,你是否遇到过这样的情况:列车从黄贝岭站出发后,车厢显示屏突然出现"02A2406株262车"这样的神秘代码?不少乘客看到这一串数字字母组合都会感到困惑——这到底是车辆故障提示、线路调度信息&am…

2026/7/18 2:06:38 阅读更多 →
OpenClaw大模型开发框架解析与实战指南

OpenClaw大模型开发框架解析与实战指南

1. OpenClaw大模型技术解析OpenClaw作为当前最受关注的大模型智能体开发框架,其核心价值在于实现了多智能体系统的模块化封装和任务自动化编排。这个由ClawTeam团队开发的平台本质上是一个基于Transformer架构的分布式任务处理系统,通过创新的Agent Swar…

2026/7/18 2:06:38 阅读更多 →
YOLO26实战指南:环境配置到工业部署全流程

YOLO26实战指南:环境配置到工业部署全流程

1. 项目概述:YOLO26与计算机视觉新纪元作为计算机视觉领域最具影响力的实时目标检测框架,YOLO系列在2024年迎来重大升级——Ultralytics推出的YOLO26不仅延续了前代产品的速度优势,更通过端到端无NMS推理架构重新定义了边缘计算场景下的性能标…

2026/7/18 2:05:38 阅读更多 →

最新新闻

RecyclerView核心原理与Android列表优化实践

RecyclerView核心原理与Android列表优化实践

1. RecyclerView基础概念与核心价值RecyclerView作为Android开发中最常用的列表控件,其设计初衷是为了解决传统ListView在性能上的瓶颈。记得2014年我第一次在项目中使用RecyclerView时,就被它流畅的滚动体验所震撼。与ListView相比,Recycler…

2026/7/19 2:11:34 阅读更多 →
Java开发环境配置指南:从JDK到IDE全解析

Java开发环境配置指南:从JDK到IDE全解析

1. Java开发环境概述:从零开始的配置逻辑2003年第一次接触Java时,我拿着Sun公司寄来的JDK 1.4光盘在Windows 98上折腾了半天环境变量。二十年过去,虽然Java生态已经天翻地覆,但开发环境搭建仍然是每个Java程序员必须跨过的第一道门…

2026/7/19 2:11:34 阅读更多 →
Godot 4 ECS框架实战:数据驱动架构提升游戏性能与代码组织

Godot 4 ECS框架实战:数据驱动架构提升游戏性能与代码组织

1. 项目概述:为什么要在Godot 4里折腾ECS?如果你用Godot做过稍微复杂点的项目,尤其是那种有成百上千个需要实时更新、交互的实体(比如RTS游戏里的小兵、弹幕游戏里的子弹、模拟经营里的市民),大概率会遇到一…

2026/7/19 2:11:34 阅读更多 →
猫抓插件:5分钟掌握网页媒体资源捕获终极解决方案

猫抓插件:5分钟掌握网页媒体资源捕获终极解决方案

猫抓插件:5分钟掌握网页媒体资源捕获终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾在浏览网页时,看…

2026/7/19 2:11:34 阅读更多 →
Android消息机制:Message.obtain()与Handler.obtainMessage()详解

Android消息机制:Message.obtain()与Handler.obtainMessage()详解

1. 理解Message.obtain()与Handler.obtainMessage()在Android开发中,Message和Handler是线程间通信的核心组件。很多开发者对Message.obtain()和Handler.obtainMessage()的使用场景存在困惑,其实它们的核心区别在于消息对象的来源和初始化方式。Message.…

2026/7/19 2:11:34 阅读更多 →
遗文化宣传推荐平台课题任务书

遗文化宣传推荐平台课题任务书

一、课题研究背景与研究意义 在文化数字化与文化自信建设的大背景下,非物质文化遗产作为中华优秀传统文化的核心载体,是地域文化传承、民俗技艺延续、文化产业发展的重要资源。当前国内非遗资源丰富,但整体宣传推广模式较为传统,主…

2026/7/19 2:10:34 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/7/19 0:00:40 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/7/19 0:00:40 阅读更多 →

月新闻