鸿蒙5.0开发进阶:ArkTS API UI界面-@ohos.curves (插值计算)

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


@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

参数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值