HarmonyOS7 弹簧弹性动画:Curve.FastOutSlowIn 实现弹性回弹效果
文章目录前言效果展示实现原理Curve.FastOutSlowIn圆角变化的形变效果代码详解状态变量动画组件弹簧右移弹簧回弹弹性缩放全部恢复真正的弹簧动画常见问题写在最后前言弹簧动画是一种物理感很强的动画效果——方块移动到目标位置后不是直接停住而是过冲一点再回弹像被弹簧拉过去一样。ArkUI 没有内置的物理弹簧引擎但通过选择合适的 Curve 曲线可以模拟出很接近弹簧效果的弹性动画。今天来聊Curve.FastOutSlowIn这个曲线在弹簧动画中的应用。效果展示一个蓝色方块通过按钮控制“弹簧右移”向右移动 80vp带弹性效果“弹簧回弹”回到原位带弹性效果“弹性缩放”缩放 变形方形变圆形“恢复”所有属性回到初始状态实现原理Curve.FastOutSlowInCurve.FastOutSlowIn的特点是快速出去慢慢回来。用在位移动画上表现为方块快速到达目标位置附近然后在目标位置附近晃一下才停稳。Curve运动特点弹性感Linear匀速无EaseOut先快后慢弱| FastOutSlowIn | 极快启动 极慢停止 | 中等 || Rhythm | 有节奏的过冲回弹 | 强 |FastOutSlowIn的弹性感不如Rhythm那么明显但更克制适合用在不需要太夸张的弹性场景中。圆角变化的形变效果.borderRadius(this.isPressed?40:12)当isPressed为true时圆角变为 4080x80 方块的一半即正圆。配合缩放动画方块在缩小的同时变成圆形视觉上像是被挤压变形了。代码详解状态变量EntryComponentstruct SpringBounceBox{StatespringX:number0StatespringScale:number1StateisPressed:booleanfalse// ...}三个状态变量水平位移、缩放比例、是否按下控制形变。动画组件Column().width(80).height(80).backgroundColor(#4D96FF).borderRadius(this.isPressed?40:12).scale({x:this.springScale,y:this.springScale}).translate({x:this.springX}).animation({duration:800,curve:Curve.FastOutSlowIn})声明式动画配置 800ms 的FastOutSlowIn曲线。位移、缩放、圆角变化都走这个曲线。弹簧右移Button(弹簧右移).onClick((){animateTo({duration:800,curve:Curve.FastOutSlowIn},(){this.springX80})})方块向右移动 80vp。FastOutSlowIn让运动过程快速到达 80vp 附近然后慢慢滑入最终位置。弹簧回弹Button(弹簧回弹).onClick((){animateTo({duration:800,curve:Curve.FastOutSlowIn},(){this.springX0})})回到 X0 的位置。同样有弹性效果回到中心位置时有轻微的回弹感。弹性缩放Button(弹性缩放).onClick((){this.isPressed!this.isPressedanimateTo({duration:600,curve:Curve.FastOutSlowIn},(){this.springScalethis.isPressed?0.5:1.2})})切换方块的状态按下缩小到 0.5 倍 变圆弹起放大到 1.2 倍 变方isPressed的切换在animateTo外面执行瞬切但borderRadius的变化因为有.animation()所以也是平滑过渡的。全部恢复Button(恢复).onClick((){this.isPressedfalseanimateTo({duration:800,curve:Curve.FastOutSlowIn},(){this.springX0this.springScale1})})位移归零、缩放归一、形状变回方形。三个属性同时走弹性过渡。真正的弹簧动画如果想要更真实的弹簧效果有明显的过冲和多次振荡ArkUI 提供了springMotion响应式弹簧动画import{springMotion}fromkit.ArkUIanimateTo({duration:1000,curve:springMotion(0.35,0.8)// damping, stiffness},(){this.springX80})springMotion接收两个参数damping阻尼0~1越大振荡越少stiffness刚度0~1越大弹簧越硬阻尼刚度效果0.30.5多次振荡弹性很强0.50.7适度弹性自然0.80.9轻微弹性稳重常见问题QFastOutSlowIn和Rhythm怎么选FastOutSlowIn是快到慢停没有明显的过冲Rhythm有节奏性的过冲回弹。如果你的场景是方块弹过去停住用FastOutSlowIn如果是点赞弹性放大用Rhythm。Q弹簧动画能用.animation()声明式写法吗可以但springMotion只能在animateTo里使用。.animation()只支持预定义的 Curve 枚举值。弹性动画的时长建议 600~1000ms。太短弹簧来不及振荡太长用户感觉拖泥带水。800ms 是一个不错的平衡点。写在最后弹簧动画的核心是选对 Curve 曲线。FastOutSlowIn提供了轻度弹性Rhythm提供了节奏弹性springMotion提供了物理弹簧。根据场景选择合适的曲线就能做出从稳重到活泼的各种弹性效果。

相关新闻

UVR 5.6安装教程:AI一键分离人声和伴奏(Windows + Mac)

UVR 5.6安装教程:AI一键分离人声和伴奏(Windows + Mac)

很多做短视频、AI翻唱、音乐剪辑的小伙伴都会遇到一个问题: 想提取歌曲伴奏、去除人声、制作AI翻唱,但是不知道用什么工具。 今天分享一款免费的AI音频分离工具: Ultimate Vocal Remover 5.6(UVR5) 它可以利用AI模型自…

2026/10/12 6:10:33 阅读更多 →
HarmonyOS7 多指触控追踪:onTouch 事件与 TouchEvent 详解

HarmonyOS7 多指触控追踪:onTouch 事件与 TouchEvent 详解

文章目录前言应用场景onTouch 和 Gesture 的区别代码详解触控点接口状态变量信息面板触控区域触控点可视化手指指示点常见问题进阶技巧写在最后前言 大部分手势 API(PanGesture、PinchGesture 等)都是对底层触控事件的高层封装。但当你需要知道"用…

2026/10/10 9:13:51 阅读更多 →
HarmonyOS7 手势综合展示:六种手势类型一网打尽 + Grid 数据看板

HarmonyOS7 手势综合展示:六种手势类型一网打尽 + Grid 数据看板

文章目录前言效果展示方案设计多层手势共存策略详细实现状态变量日志函数Grid 统计看板statCard Builder三层手势绑定滑动方向判定日志面板踩坑记录写在最后前言 前面十几篇文章分别讲了 ArkUI 的各种手势类型,今天来一个"全家桶"——把点击、长按、双击…

2026/10/11 23:10:16 阅读更多 →

最新新闻

SpringBoot+Shiro+Redis+Elasticsearch商城实战:从技术栈到避坑指南

SpringBoot+Shiro+Redis+Elasticsearch商城实战:从技术栈到避坑指南

简介:这份SpringBoot天猫商城整站项目适合有一定Java基础、想系统学习前后端分离电商系统的开发者。项目采用SpringBoot作为后端,前端整合Bootstrap、Vue.js与jQuery,页面由Thymeleaf渲染,数据层使用JPA搭配Redis缓存,…

2026/10/13 18:53:55 阅读更多 →
AI Agent模型请求三种方式:直连式、消息序列与工具调用实战解析

AI Agent模型请求三种方式:直连式、消息序列与工具调用实战解析

如果你正在做一个AI Agent,或者是打算把大模型接进自己的产品里,大概率会踩到同一个困惑:所谓"请求一次模型",究竟是怎么个请求法?我刚开始写Agent的时候,以为就是拼一段长prompt丢给接口&#x…

2026/10/13 18:53:55 阅读更多 →
工业互联网平台数字仿真:CAE云化架构与落地实践

工业互联网平台数字仿真:CAE云化架构与落地实践

简介:《工业互联网平台数字仿真发展白皮书(2021)》由中国电子信息产业发展研究院编写,面向制造业数字化转型从业者、工业软件与仿真领域研究人员及政策制定者,系统梳理“平台数字仿真”的发展脉络与落地路径。资源为1个…

2026/10/13 18:53:55 阅读更多 →
AUTOSAR RTE深度解析:从VFB到通信机制与任务映射

AUTOSAR RTE深度解析:从VFB到通信机制与任务映射

第一次在AUTOSAR项目里听到RTE这个缩写,我以为它只是个普通运行库。直到自己动手搭了一个涉及三个SWC的通信Demo,被一堆偶发数据错乱和任务超时折磨了两周,才真正意识到这一层的分量。不管你是刚接触AUTOSAR的学生,还是正在做ECU软…

2026/10/13 18:53:55 阅读更多 →
工业互联网平台数字仿真:CAE云化落地与工业APP封装实战

工业互联网平台数字仿真:CAE云化落地与工业APP封装实战

简介:《工业互联网平台数字仿真发展白皮书(2021)》由中国电子信息产业发展研究院编写,面向制造业数字化转型从业者、工业软件研发人员及产业政策研究者,系统梳理“平台数字仿真”的发展脉络与落地路径。资源为1个PDF文…

2026/10/13 18:53:55 阅读更多 →
Agent能扛多大的事?四维承重设计与压测实战

Agent能扛多大的事?四维承重设计与压测实战

你的Agent,能扛多大的事儿?这个问题我最近被问得最多,不是来自那种刚看完发布会的新手,而是来自已经折腾过几轮 prompt、堆过不少工具、把 demo 跑得飞起、但一碰真实业务就崩盘的中级玩家。大家手里都会有个能聊天、能查资料、能…

2026/10/13 18:52:55 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →