往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)
@ohos.curves (插值计算)
本模块提供设置动画插值曲线功能,用于构造阶梯曲线对象、构造三阶贝塞尔曲线对象和构造弹簧曲线对象。
说明
本模块首批接口从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
导入模块
import { curves } from '@kit.ArkUI';
Curves.initCurve9+
initCurve(curve?: Curve): ICurve
插值曲线的初始化函数,可以根据入参创建一个插值曲线对象。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
curve | Curve | 否 | 曲线类型。 默认值:Curve.Linear |
返回值:
类型 | 说明 |
---|---|
ICurve | 曲线的插值对象。 |
Curve
插值曲线,动效请参考贝塞尔曲线。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
名称 | 说明 |
---|---|
Linear | 表示动画从头到尾的速度都是相同的。 |
Ease | 表示动画以低速开始,然后加快,在结束前变慢,cubic-bezier(0.25, 0.1, 0.25, 1.0)。 |
EaseIn | 表示动画以低速开始,cubic-bezier(0.42, 0.0, 1.0, 1.0)。 |
EaseOut | 表示动画以低速结束,cubic-bezier(0.0, 0.0, 0.58, 1.0)。 |
EaseInOut | 表示动画以低速开始和结束,cubic-bezier(0.42, 0.0, 0.58, 1.0)。 |
FastOutSlowIn | 标准曲线,cubic-bezier(0.4, 0.0, 0.2, 1.0)。 |
LinearOutSlowIn | 减速曲线,cubic-bezier(0.0, 0.0, 0.2, 1.0)。 |
FastOutLinearIn | 加速曲线,cubic-bezier(0.4, 0.0, 1.0, 1.0)。 |
ExtremeDeceleration | 急缓曲线,cubic-bezier(0.0, 0.0, 0.0, 1.0)。 |
Sharp | 锐利曲线,cubic-bezier(0.33, 0.0, 0.67, 1.0)。 |
Rhythm | 节奏曲线,cubic-bezier(0.7, 0.0, 0.2, 1.0)。 |
Smooth | 平滑曲线,cubic-bezier(0.4, 0.0, 0.4, 1.0)。 |
Friction | 阻尼曲线,cubic-bezier(0.2, 0.0, 0.2, 1.0)。 |
示例:
import { curves } from '@kit.ArkUI';
curves.initCurve(Curve.EaseIn) // 创建一个默认先慢后快插值曲线
Curves.stepsCurve9+
stepsCurve(count: number, end: boolean): ICurve
构造阶梯曲线对象。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
count | number | 是 | 阶梯的数量,需要为正整数。 取值范围:[1, +∞) 说明: 设置小于1的值时,按值为1处理。 |
end | boolean | 是 | 在每个间隔的起点或是终点发生阶跃变化。 -true:在终点发生阶跃变化。 -false:在起点发生阶跃变化。 |
返回值:
类型 | 说明 |
---|---|
ICurve | 曲线的插值对象。 |
示例:
import { curves } from '@kit.ArkUI';
curves.stepsCurve(9, true) //创建一个阶梯曲线
Curves.cubicBezierCurve9+
cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve
构造三阶贝塞尔曲线对象,曲线的值必须处于0-1之间。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数: