相关问题
#鸿蒙通关秘籍#在什么时候应优先考虑使用interpolatingSpring而不是其他弹簧曲线?
241浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用springMotion实现自然的弹簧动画?
250浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用ArkUI中的传统曲线实现旋转动画效果
317浏览 • 1回复 待解决
HarmonyOS 如何实现二次贝塞尔曲线动画?
540浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中选择合适的动画曲线创建自然动画效果
306浏览 • 1回复 待解决
HarmonyOS Tabs如何取消弹簧效果
413浏览 • 1回复 待解决
HarmonyOS 曲线demo
119浏览 • 1回复 待解决
HarmonyOS 如何根据圆心坐标连接曲线
108浏览 • 1回复 待解决
HarmonyOS 异形的边框曲线应该如何实现
114浏览 • 1回复 待解决
HarmonyOS Canvas绘制曲线相关
168浏览 • 1回复 待解决
HarmonyOS 如何让组件(Image)沿着贝塞尔曲线运动,行成一种飘屏动画效果
230浏览 • 1回复 待解决
HarmonyOS 贝塞尔曲线绘制
227浏览 • 1回复 待解决
HarmonyOS 地图绘制曲线的点击
20浏览 • 1回复 待解决
HarmonyOS 使用动画崩溃,请问如何调整
616浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙OS中使用MpChart实现柱状图和曲线图?
288浏览 • 1回复 待解决
HarmonyOS 绘制圆滑折线或绘制曲线
33浏览 • 1回复 待解决
HarmonyOS Canvas绘制贝塞尔曲线,如何填充内部颜色
205浏览 • 1回复 待解决
HarmonyOS 如何使用Polyline组件添加动画效果
198浏览 • 1回复 待解决
使用转场动画时,如何在消失转场动画完成时执行其他操作
2333浏览 • 1回复 待解决
HarmonyOS 动画使用问题
128浏览 • 1回复 待解决
HarmonyOS PAG动画使用问题
114浏览 • 1回复 待解决
HarmonyOS CAPI动画怎么使用?
395浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用transform实现静态动画?
235浏览 • 1回复 待解决
如何使用 HarmonyOS 提供的高性能动画组件?
333浏览 • 0回复 待解决
有没有实现贝塞尔曲线的相关库?
341浏览 • 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函数获得插值。
示例:
完整代码