相关问题
#鸿蒙通关秘籍#在什么时候应优先考虑使用interpolatingSpring而不是其他弹簧曲线?
94浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用springMotion实现自然的弹簧动画?
102浏览 • 1回复 待解决
HarmonyOS 如何实现二次贝塞尔曲线动画?
341浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用ArkUI中的传统曲线实现旋转动画效果
125浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中选择合适的动画曲线创建自然动画效果
99浏览 • 1回复 待解决
HarmonyOS Tabs如何取消弹簧效果
359浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙OS中使用MpChart实现柱状图和曲线图?
113浏览 • 1回复 待解决
HarmonyOS 使用动画崩溃,请问如何调整
522浏览 • 1回复 待解决
使用转场动画时,如何在消失转场动画完成时执行其他操作
2116浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用transform实现静态动画?
124浏览 • 1回复 待解决
HarmonyOS CAPI动画怎么使用?
310浏览 • 1回复 待解决
有没有实现贝塞尔曲线的相关库?
167浏览 • 1回复 待解决
HarmonyOS 有没有自定义视图绘制的案例, 绘制渐变曲线?
258浏览 • 1回复 待解决
如何使用 HarmonyOS 提供的高性能动画组件?
193浏览 • 0回复 待解决
属性动画如何实现宽高动画效果
2039浏览 • 1回复 待解决
如何应用属性动画实现宽高的动画
414浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用NDK属性动画?
120浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用动效及动画控制页面效果?
153浏览 • 1回复 待解决
自定义组件之绘制折线图和曲线图
1218浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何使用鸿蒙JS动画接口实现多种交互动画效果,如播放、暂停、更新?
72浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现使用Spring Curve的文本抖动动画?
111浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用XComponent结合Vsync实现自定义动画?
103浏览 • 1回复 待解决
animateTo动画如何暂停
892浏览 • 2回复 待解决
#鸿蒙通关秘籍# 如何在鸿蒙项目中使用JS插值器动画实现元素的平移动画效果?
96浏览 • 1回复 待解决
如何支持SVGA动画?项目中一些原有的动画是svga的,在HarmonyOS中,有没有方案可以使用svga动画?
400浏览 • 1回复 待解决
实现背景
应用开发者在实际开发过程中,发现动画曲线文档中,有三种弹簧动画曲线:Curves.springCurve,Curves.springMotion,Curves.responsiveSpringMotion,那么如何根据当前自身业务需求来选择曲线呢?以下我们将分别来阐述这三种曲线的用法。
示意图
弹簧曲线的示意图如下:
Curves.springCurve
构造弹簧曲线对象,需要给曲线指定一个初速度,物体根据物体的质量、刚度、阻尼进行弹性形变
参数:
参数名
类型
必填
说明
velocity
number
是
初始速度。是由外部因素对弹性动效产生的影响参数,其目的是保证对象从之前的运动状态平滑的过渡到弹性动效。
mass
number
是
质量。弹性系统的受力对象,会对弹性系统产生惯性影响。质量越大,震荡的幅度越大,恢复到平衡位置的速度越慢。
stiffness
number
是
刚度。是物体抵抗施加的力而形变的程度。在弹性系统中,刚度越大,抵抗变形的能力越强,恢复到平衡位置的速度就越快。
damping
number
是
阻尼。是一个纯数,无真实的物理意义,用于描述系统在受到扰动后震荡及衰减的情形。阻尼越大,弹性运动的震荡次数越少、震荡幅度越小。
返回值:
类型
说明
ICurve
曲线的插值对象。
示例:
Curves.springMotion
构造弹性动画曲线对象。如果对同一对象的同一属性进行多个弹性动画,每个动画会替换掉前一个动画,并继承之前的速度,无需指定初速度。参数:
参数名
类型
必填
说明
response
number
否
弹簧自然振动周期,决定弹簧复位的速度。单位:秒,默认值:0.55。
dampingFraction
number
否
阻尼系数。0表示无阻尼,一直处于震荡状态;大于0小于1的值为欠阻尼,运动过程中会超出目标值;等于1为临界阻尼;大于1为过阻尼,运动过程中逐渐趋于目标值。默认值:0.825。
overlapDuration
number
否
弹性动画衔接时长。发生动画继承时,如果前后两个弹性动画response不一致,response参数会在overlapDuration时间内平滑过渡。单位:秒,默认值:0。
返回值:
类型
说明
ICurve
曲线对象。说明: 弹性动画曲线为物理曲线,animation、animateTo中的duration参数不生效,动画持续时间取决于springMotion动画曲线参数和之前的速度。时间不能归一,故不能通过该曲线的interpolate函数获得插值。
示例:
Curves.responsiveSpringMotion
构造弹性跟手动画曲线对象,是springMotion的一种特例,仅默认参数不同,可与springMotion混合使用参数:
参数名
类型
必填
说明
response
number
否
解释同springMotion中的response。单位:秒,默认值:0.15。
dampingFraction
number
否
解释同springMotion中的dampingFraction。默认值:0.86。
overlapDuration
number
否
解释同springMotion中的overlapDuration。单位:秒,默认值:0.25。
返回值:
类型
说明
ICurve
曲线对象。
说明:
1.弹性跟手动画曲线为springMotion的一种特例,仅默认值不同。如果使用自定义参数的弹性曲线,推荐使用springMotion构造曲线;如果使用跟手动画,推荐使用默认参数的弹性跟手动画曲线。
2.animation、animateTo中的duration参数不生效,动画持续时间取决于responsiveSpringMotion动画曲线参数和之前的速度,也不能通过该曲线的interpolate函数获得插值。
示例:
完整代码