From 962586bf0495a6c0987a0b59731382f36296abdc Mon Sep 17 00:00:00 2001 From: qianli22 Date: Wed, 28 May 2025 11:53:32 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E9=94=AE?= =?UTF-8?q?=E5=B8=A7api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianli22 --- .../reference/apis-arkui/js-apis-window.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index 0dfe3e88c99..3c9f875229b 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -621,6 +621,22 @@ type WindowAnimationCurveParam = Array<number> | rectType | [RectType](#recttype19) | 否 | 是 | 窗口矩形区域坐标系类型。 | | windowRect | [Rect](#rect7) | 否 | 是 | 相对于屏幕或父窗坐标系的窗口矩形区域信息。| +## KeyFramePolicy20+ + +关键帧策略配置。 + +**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 + +**系统能力:** SystemCapability.Window.SessionManager + +| 名称 | 类型 | 只读 | 可写 | 说明 | +| ------ | ---- | ----- | ---- | ----------------------- | +| enable | boolean | 否 | 是 | 是否使用关键帧。 | +| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。 | +| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。 设置为0, 表示忽略拖拽距离因素判断关键帧切换。 | +| animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒, 默认值为100。 | +| animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒, 默认值为100。 | + ## GlobalWindowMode20+ 窗口模式。 @@ -3092,6 +3108,73 @@ try { } ``` +### setDragKeyFramePolicy20+ + +setDragKeyFramePolicy(keyFramePolicy: KeyFramePolicy): Promise<KeyFramePolicy> + +设置窗口拖拽时的关键帧策略。仅支持PC主窗调用。 + +**系统能力:** SystemCapability.Window.SessionManager + +**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 + +**参数:** + +| 类型 | 说明 | +| ------------------- | --------------------------------------------- | +| [KeyFramePolicy](#keyframepolicy20) | 执行的关键帧策略。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<KeyFramePolicy> | 返回生效的关键帧策略结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[窗口错误码](errorcode-window.md)。 + +| 错误码ID | 错误信息 | +| ------- | --------------------------------------------- | +| 801 | Capability not supported. Function setSubWindowZLevel can not work correctly due to limited device capabilities. | +| 1300002 | This window state is abnormal. | +| 1300003 | This window manager service works abnormally. | +| 1300004 | Unauthorized operation. | + +**示例:** + +```ts +// EntryAbility.ets +import { UIAbility } from '@kit.AbilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; +import { window } from '@kit.ArkUI'; + +export default class EntryAbility extends UIAbility { + // ... + onWindowStageCreate(windowStage: window.WindowStage): void { + console.info('onWindowStageCreate'); + let windowClass: window.Window | undefined = undefined; + windowStage.getMainWindow((err: BusinessError, data) => { + const errCode: number = err.code; + if (errCode) { + console.error(`Failed to obtain the main window. Cause code: ${err.code}, message: ${err.message}`); + return; + } + windowClass = data; + let keyFramePolicy: window.KeyFramePolicy = { + enable: true + } + let promise = windowClass.setDragKeyFramePolicy(keyFramePolicy); + promise.then((ret: window.KeyFramePolicy) => { + console.info(`Succeeded set key frame: ${JSON.stringify(ret)}`); + }).catch((err: BusinessError) => { + console.error(`Failed to set key frame. Cause code: ${err.code}, message: ${err.message}`); + }); + }); + } +} +``` + ### setWindowSystemBarEnable9+ setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void> -- Gitee From 5bb78ee0555fe813d8e90d024547e81356c5116e Mon Sep 17 00:00:00 2001 From: qianli22 Date: Wed, 28 May 2025 11:55:24 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A3=80=E8=A7=86?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianli22 --- zh-cn/application-dev/reference/apis-arkui/js-apis-window.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index 3c9f875229b..acab2bdb3bf 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -632,8 +632,8 @@ type WindowAnimationCurveParam = Array<number> | 名称 | 类型 | 只读 | 可写 | 说明 | | ------ | ---- | ----- | ---- | ----------------------- | | enable | boolean | 否 | 是 | 是否使用关键帧。 | -| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。 | -| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。 设置为0, 表示忽略拖拽距离因素判断关键帧切换。 | +| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。取值范围为正整数。与distance判断为或的关系。 | +| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。取值范围为0或正整数。设置为0时, 表示忽略拖拽距离因素。与interval判断为或的关系。 | | animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒, 默认值为100。 | | animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒, 默认值为100。 | -- Gitee From a04f29dddc7733228c868cc576c8e86f7fbbefd0 Mon Sep 17 00:00:00 2001 From: qianli22 Date: Wed, 28 May 2025 14:54:44 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianli22 --- .../reference/apis-arkui/js-apis-window.md | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index acab2bdb3bf..d0329a28053 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -632,10 +632,10 @@ type WindowAnimationCurveParam = Array<number> | 名称 | 类型 | 只读 | 可写 | 说明 | | ------ | ---- | ----- | ---- | ----------------------- | | enable | boolean | 否 | 是 | 是否使用关键帧。 | -| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。取值范围为正整数。与distance判断为或的关系。 | -| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。取值范围为0或正整数。设置为0时, 表示忽略拖拽距离因素。与interval判断为或的关系。 | -| animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒, 默认值为100。 | -| animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒, 默认值为100。 | +| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。取值范围为正整数, 浮点数向下取整。与distance判断为或的关系。 | +| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。取值范围为0或正整数, 浮点数向下取整。设置为0时, 表示忽略拖拽距离因素。与interval判断为或的关系。 | +| animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒, 默认值为100。取值范围为0或正整数, 浮点数向下取整。 | +| animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒, 默认值为100。取值范围为0或正整数, 浮点数向下取整。 | ## GlobalWindowMode20+ @@ -3147,7 +3147,6 @@ setDragKeyFramePolicy(keyFramePolicy: KeyFramePolicy): Promise<KeyFramePolicy // EntryAbility.ets import { UIAbility } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; -import { window } from '@kit.ArkUI'; export default class EntryAbility extends UIAbility { // ... @@ -3164,12 +3163,16 @@ export default class EntryAbility extends UIAbility { let keyFramePolicy: window.KeyFramePolicy = { enable: true } - let promise = windowClass.setDragKeyFramePolicy(keyFramePolicy); - promise.then((ret: window.KeyFramePolicy) => { - console.info(`Succeeded set key frame: ${JSON.stringify(ret)}`); - }).catch((err: BusinessError) => { - console.error(`Failed to set key frame. Cause code: ${err.code}, message: ${err.message}`); - }); + try { + let promise = windowClass.setDragKeyFramePolicy(keyFramePolicy); + promise.then((ret: window.KeyFramePolicy) => { + console.info(`Succeeded set key frame: ${JSON.stringify(ret)}`); + }).catch((err: BusinessError) => { + console.error(`Failed to set key frame. Cause code: ${err.code}, message: ${err.message}`); + }); + } catch (exception) { + console.error(`Failed to set key frame. Cause code: ${exception.code}, message: ${exception.message}`); + } }); } } -- Gitee From c95999f64962d0d3932809e7aee23ea3a8ecfc7e Mon Sep 17 00:00:00 2001 From: qianli22 Date: Wed, 28 May 2025 17:17:29 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=8E=9F=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianli22 --- zh-cn/application-dev/reference/apis-arkui/js-apis-window.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index d0329a28053..1786adf4bca 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -625,8 +625,6 @@ type WindowAnimationCurveParam = Array<number> 关键帧策略配置。 -**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 - **系统能力:** SystemCapability.Window.SessionManager | 名称 | 类型 | 只读 | 可写 | 说明 | @@ -3116,8 +3114,6 @@ setDragKeyFramePolicy(keyFramePolicy: KeyFramePolicy): Promise<KeyFramePolicy **系统能力:** SystemCapability.Window.SessionManager -**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 - **参数:** | 类型 | 说明 | -- Gitee From e7028c3e8f589f5f381a8014bb0d037e0edf16cf Mon Sep 17 00:00:00 2001 From: qianli22 Date: Thu, 29 May 2025 14:05:45 +0800 Subject: [PATCH 5/6] add 1300016 Signed-off-by: qianli22 --- zh-cn/application-dev/reference/apis-arkui/js-apis-window.md | 1 + 1 file changed, 1 insertion(+) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index 1786adf4bca..4f1e1b517b7 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -3136,6 +3136,7 @@ setDragKeyFramePolicy(keyFramePolicy: KeyFramePolicy): Promise<KeyFramePolicy | 1300002 | This window state is abnormal. | | 1300003 | This window manager service works abnormally. | | 1300004 | Unauthorized operation. | +| 1300016 | Parameter error. Possible cause: 1. Invalid parameter range; 2. The parameter format is incorrect.| **示例:** -- Gitee From 152258c8103fa7022db8c4058b9f2244158609dc Mon Sep 17 00:00:00 2001 From: qianli22 Date: Thu, 5 Jun 2025 14:32:23 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianli22 --- .../reference/apis-arkui/js-apis-window.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md index 4f1e1b517b7..55480e030f8 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md @@ -630,10 +630,10 @@ type WindowAnimationCurveParam = Array<number> | 名称 | 类型 | 只读 | 可写 | 说明 | | ------ | ---- | ----- | ---- | ----------------------- | | enable | boolean | 否 | 是 | 是否使用关键帧。 | -| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒, 默认值为1000。取值范围为正整数, 浮点数向下取整。与distance判断为或的关系。 | -| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px, 默认值为1000。取值范围为0或正整数, 浮点数向下取整。设置为0时, 表示忽略拖拽距离因素。与interval判断为或的关系。 | -| animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒, 默认值为100。取值范围为0或正整数, 浮点数向下取整。 | -| animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒, 默认值为100。取值范围为0或正整数, 浮点数向下取整。 | +| interval | number | 否 | 是 | 设置关键帧布局切换拖拽时间间隔,单位为毫秒,默认值为1000。取值范围为正整数,浮点数向下取整。与distance判断为或的关系。 | +| distance | number | 否 | 是 | 设置关键帧布局切换拖拽距离间隔,单位为px,默认值为1000。取值范围为0或正整数,浮点数向下取整。设置为0时,表示忽略拖拽距离因素。与interval判断为或的关系。 | +| animationDuration | number | 否 | 是 | 设置关键帧布局切换动效时间长,单位为毫秒,默认值为100。取值范围为0或正整数,浮点数向下取整。 | +| animationDelay | number | 否 | 是 | 设置关键帧布局切换动效延迟,单位为毫秒,默认值为100。取值范围为0或正整数,浮点数向下取整。 | ## GlobalWindowMode20+ -- Gitee