HarmonyOS 动画与过渡效果:animateTo 与 transition
📅 2026/7/18 2:06:31
👁️ 次浏览
适用版本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 网络请求
最近在深圳乘坐地铁2号线时,你是否遇到过这样的情况:列车从黄贝岭站出发后,车厢显示屏突然出现"02A2406株262车"这样的神秘代码?不少乘客看到这一串数字字母组合都会感到困惑——这到底是车辆故障提示、线路调度信息&am…
📅 2026/7/18 2:06:31
1. 项目背景与需求解析在Android平台上处理音视频开发时,FFmpeg几乎是绕不开的核心工具。但官方提供的预编译库往往无法满足特定需求,比如需要开启某些编解码器、调整优化参数或进行深度定制。这就引出了我们今天要解决的核心问题:如何在Andr…
📅 2026/7/18 2:05:31
简介
共识负责区块的构建、广播,以及通过PoS机制确保整个网络对区块链状态达成一致
共识接口Engine
type Engine interface {Author(header *types.Header) (common.Address, error)VerifyHeader(chain ChainHeaderReader, header *types.Header) errorVerifyHeader…
📅 2026/7/18 2:05:31
【资讯快报】9月PMP报名今日开启,旧版考试“末班车”不容有失7月16日10:00,中国国际人才交流基金会正式开放2026年9月12日PMP考试的中文报名通道。本次报名将持续至7月23日16:00,采用分批次错峰开放模式。对于广大考生而言,这不仅…
📅 2026/7/18 4:29:20
3个妙招:让魔兽争霸3在现代Windows系统重获新生的终极方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper
还在为魔兽争霸3闪退、黑屏、卡…
📅 2026/7/18 4:29:20
1. 项目概述与背景最近在做一个自动化社群管理的工具,需要批量检查一批QQ号或者QQ群链接的有效性,结果发现一个挺头疼的问题:有些链接点进去直接提示“该链接已停止访问”,或者干脆打不开。一开始以为是网络问题,后来才…
📅 2026/7/18 4:29:19
一个被技术圈关注的婚恋新物种最近东莞南城出了一个叫“恋爱驾校”的项目,引起了不少同行讨论。作为一个习惯分析产品架构的人,我花了一周时间研究了他们的模式和底层逻辑,今天从产品经理的视角,做一次完整拆解。先说结论…
📅 2026/7/18 4:29:19
很多 FPGA 工程师第一次把 AI 放进 Vivado 工程时,都会遇到一个尴尬问题:AI 很努力地读了很多文件,但它未必真的看懂了工程。
它可能先钻进 .runs、.cache、IP 输出目录、仿真临时文件和几百兆日志里;token 花出去了,…
📅 2026/7/18 4:29:19
1. BH1750光照传感器与STM32开发概述BH1750是一款数字式环境光强度传感器,采用ROHM公司的光学传感技术,能够直接输出数字化的光照度值。与传统的模拟输出光敏电阻相比,BH1750具有精度高、线性度好、无需外部ADC等优势。在STM32嵌入式系统中&a…
📅 2026/7/18 4:28:18
更多请点击:
https://kaifayun.com
第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…
📅 2026/7/18 0:00:33
更多请点击:
https://codechina.net
第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…
📅 2026/7/18 0:00:33
作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…
📅 2026/7/18 0:00:33
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/18 4:14:57
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/18 0:00:49
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/17 15:13:18
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/17 6:11:34
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/17 15:13:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/17 2:40:57