提交 8b630cda 编写于 作者: L liuchao

add window animation docs

Signed-off-by: Nliuchao <liuchao92@huawei.com>
Change-Id: I12e6065d6ea89c20d8ba314de0b4702f5a4f30e2
上级 b443f77b
......@@ -81,6 +81,7 @@
- [@ohos.uiAppearance(用户界面外观)](js-apis-uiappearance.md)
- 图形图像
- [@ohos.animation.windowAnimationManager (窗口动画管理)](js-apis-windowAnimationManager.md)
- [@ohos.display (屏幕属性)](js-apis-display.md)
- [@ohos.effectKit (图像效果)](js-apis-effectKit.md)
- [@ohos.screen (屏幕)](js-apis-screen.md)
......
# 窗口动画管理
窗口动画管理器,可以监听应用启动退出时应用的动画窗口,提供启动退出过程中控件动画和应用窗口联动动画能力。
> **说明:**
> 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
> 本模块接口为系统接口。
## 导入模块
```js
import windowAnimationManager from '@ohos.animation.windowAnimationManager'
```
## windowAnimationManager.setController
setController(controller: WindowAnimationController): void
设置窗口动画控制器。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| controller | [WindowAnimationController](#windowanimationcontroller) | 是 | 窗口动画的控制器。|
**示例:**
```js
var controller = {
onStartAppFromLauncher(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromLauncher', startingWindowTarget);
},
onStartAppFromRecent(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromRecent', startingWindowTarget);
},
onStartAppFromOther(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromOther', startingWindowTarget);
},
onAppTransition(fromWindowTarget: WindowAnimationTarget, toWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
},
onMinimizeWindow(minimizingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
},
onCloseWindow(closingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
},
onScreenUnlock(finishCallback: WindowAnimationFinishedCallback): void {
}
}
windowAnimationManager.setController(controller)
```
## WindowAnimationController
窗口动画控制器。
### onStartAppFromLauncher
onStartAppFromLauncher(startingWindowTarget: WindowAnimationTarget,finishCallback: WindowAnimationFinishedCallback): void
从桌面启动应用时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------------------------------------ | ---- | ------------------ |
| startingWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 动画目标窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onStartAppFromLauncher(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromLauncher', startingWindowTarget);
}
}
```
### onStartAppFromRecent
onStartAppFromRecent(startingWindowTarget: WindowAnimationTarget,finishCallback:WindowAnimationFinishedCallback): void
从最近任务列表启动应用时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------------------------------------ | ---- | ------------------ |
| startingWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 动画目标窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onStartAppFromRecent(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromRecent', startingWindowTarget);
}
}
```
### onStartAppFromOther
onStartAppFromOther(startingWindowTarget: WindowAnimationTarget,finishCallback: WindowAnimationFinishedCallback): void
从除了桌面和最近任务列表以外其他地方启动应用时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------------------------------------ | ---- | ------------------ |
| startingWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 动画目标窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onStartAppFromOther(startingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onStartAppFromOther', startingWindowTarget);
}
}
```
### onAppTransition
onAppTransition(fromWindowTarget: WindowAnimationTarget, toWindowTarget: WindowAnimationTarget,finishCallback: WindowAnimationFinishedCallback): void
应用转场时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------- | ---- | ---------------- |
| fromWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 转场前的动画窗口。 |
| toWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 转场后的动画窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onAppTransition(fromWindowTarget: WindowAnimationTarget, toWindowTarget: WindowAnimationTarget,
finishCallback: WindowAnimationFinishedCallback): void {
console.log('onAppTransition', fromWindowTarget);
}
}
```
### onMinimizeWindow
onMinimizeWindow(minimizingWindowTarget: WindowAnimationTarget,finishCallback: WindowAnimationFinishedCallback): void
最小化窗口时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------- | ---- | ---------------- |
| minimizingWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 动画目标窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onMinimizeWindow(minimizingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onMinimizeWindow', minimizingWindowTarget);
}
}
```
### onCloseWindow
onCloseWindow(closingWindowTarget: WindowAnimationTarget,finishCallback: WindowAnimationFinishedCallback): void
关闭窗口时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------------- | ------------------------------- | ---- | ---------------- |
| closingWindowTarget | [WindowAnimationTarget](#windowanimationtarget) | 是 | 动画目标窗口。 |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onCloseWindow(closingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
console.log('onCloseWindow', closingWindowTarget);
}
}
```
### onScreenUnlock
onScreenUnlock(finishCallback: [WindowAnimationFinishedCallback](#windowanimationfinishedcallback)): void
屏幕解锁时的回调。
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------------------------------------------ | ---- | ------------------ |
| finishCallback | [WindowAnimationFinishedCallback](#windowanimationfinishedcallback) | 是 | 动画完成后的回调。 |
**示例:**
```js
var controller = {
onScreenUnlock(finishCallback: WindowAnimationFinishedCallback): void {
console.log('onScreenUnlock'.);
}
}
```
## WindowAnimationFinishedCallback
动画完成后的回调。
### onAnimationFinish
onAnimationFinish():void
结束本次动画。
**示例:**
```js
var controller = {
onCloseWindow(closingWindowTarget: WindowAnimationTarget, finishCallback: WindowAnimationFinishedCallback): void {
finishCallback.onAnimationFinish();
}
}
```
## WindowAnimationTarget
动画目标窗口,用来实现动画。
| 参数 | 类型 | 描述 |
| ------- | ------ | ----------------------- |
| bundleName | string | 动画目标窗口所对应的包名。 |
| abilityName | string | 动画目标窗口所对应的Ability名称。 |
| windowBounds | [RRect](#rrect) | 动画目标窗口所对应的实际大小。 |
## RRect
圆角矩形。
| 参数 | 类型 | 描述 |
| ------- | ------ | ----------------------- |
| left | number | 动画目标窗口左上角相对于屏幕的横坐标。 |
| top | number | 动画目标窗口左上角相对于屏幕的纵坐标。 |
| width | number | 动画目标窗口的宽度大小。 |
| height | number | 动画目标窗口的高度大小。 |
| radius | number | 动画目标窗口的圆角大小。 |
\ No newline at end of file
......@@ -68,6 +68,7 @@
- [QRCode](ts-basic-components-qrcode.md)
- [Radio](ts-basic-components-radio.md)
- [Rating](ts-basic-components-rating.md)
- [RemoteWindow](ts-basic-components-remotewindow.md)
- [RichText](ts-basic-components-richtext.md)
- [ScrollBar](ts-basic-components-scrollbar.md)
- [Search](ts-basic-components-search.md)
......
# RemoteWindow
远程控制窗口组件,可以通过此组件控制应用窗口,提供启动退出过程中控件动画和应用窗口联动动画的能力。
> **说明:**
>
> 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
> 该组件为系统接口。
## 子组件
不可以包含子组件。
## 接口
RemoteWindow(target: WindowAnimationTarget)
通过窗口动画对象创建组件。
- 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- |
| target | [WindowAnimationTarget](#windowanimationtarget) | 是 | - | 需要控制的动画窗口的描述。 |
## WindowAnimationTarget
目标窗口,用来远程控制实现动画。
| 参数 | 类型 | 描述 |
| ------- | ------ | ----------------------- |
| bundleName | string | 动画窗口所对应的进程。|
| abilityName | string | 动画窗口所对应的Ability。|
| windowBounds | [RRect](#rrect) | 动画窗口实际大小。|
## RRect
圆角矩形。
| 参数 | 类型 | 描述 |
| ------- | ------ | ----------------------- |
| left | number | 动画窗口左上角相对于屏幕横坐标。|
| top | number | 动画窗口左上角相对于屏幕纵坐标。|
| width | number | 动画窗口宽度大小。|
| height | number | 动画窗口高度大小。|
| radius | number | 动画窗口圆角大小。|
## 属性
支持[通用属性](ts-universal-attributes-size.md)
## 事件
支持[通用事件](ts-universal-events-click.md)
## 示例
```ts
// xxx.ets
@Entry
@Component
struct RemoteWindowExample {
@State target: WindowAnimationTarget = undefined // 通过windowAnimationManager获取
build() {
RemoteWindow(this.target)
.translate({x:100, y:200})
.scale({x:0.5, y:0.5})
.opacity(0.8)
.position({x:px2vp(this.target?.windowBounds.left), y:px2vp(this.target?.windowBounds.top)})
.width(px2vp(this.target?.windowBounds.width))
.height(px2vp(this.target?.windowBounds.height))
}
}
```
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册