Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
fc6ddbf6
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
fc6ddbf6
编写于
6月 19, 2023
作者:
葛
葛亚芳
提交者:
Gitee
6月 19, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/windowmanager/application-window-stage.md.
Signed-off-by:
N
葛亚芳
<
geyafang@huawei.com
>
上级
ecb59d26
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
208 addition
and
196 deletion
+208
-196
zh-cn/application-dev/windowmanager/application-window-stage.md
...application-dev/windowmanager/application-window-stage.md
+208
-196
未找到文件。
zh-cn/application-dev/windowmanager/application-window-stage.md
浏览文件 @
fc6ddbf6
...
@@ -53,16 +53,18 @@
...
@@ -53,16 +53,18 @@
在
`Stage`
模型下,应用主窗口由
`UIAbility`
创建并维护生命周期。在
`UIAbility`
的
`onWindowStageCreate`
回调中,通过
`WindowStage`
获取应用主窗口,即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性,如最大窗口宽度maxWindowWidth等,详见
[
module.json5配置文件
](
../quick-start/module-configuration-file.md#abilities标签
)
。
在
`Stage`
模型下,应用主窗口由
`UIAbility`
创建并维护生命周期。在
`UIAbility`
的
`onWindowStageCreate`
回调中,通过
`WindowStage`
获取应用主窗口,即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性,如最大窗口宽度maxWindowWidth等,详见
[
module.json5配置文件
](
../quick-start/module-configuration-file.md#abilities标签
)
。
### 开发步骤
### 开发步骤
1.
获取应用主窗口。
1.
获取应用主窗口。
通过
`getMainWindow`
接口获取应用主窗口。
通过
`getMainWindow`
接口获取应用主窗口。
2.
设置主窗口属性。
2.
设置主窗口属性。
可设置主窗口的背景色、亮度值、是否可触等多个属性,开发者可根据需要选择对应的接口。本示例以设置“是否可触”属性为例。
可设置主窗口的背景色、亮度值、是否可触等多个属性,开发者可根据需要选择对应的接口。本示例以设置“是否可触”属性为例。
3.
为主窗口加载对应的目标页面。
3.
为主窗口加载对应的目标页面。
通过
`loadContent`
接口加载主窗口的目标页面。
通过
`loadContent`
接口加载主窗口的目标页面。
```
ts
```
ts
...
@@ -101,99 +103,101 @@ export default class EntryAbility extends UIAbility {
...
@@ -101,99 +103,101 @@ export default class EntryAbility extends UIAbility {
};
};
```
```
## 设置应用子窗口
## 设置应用子窗口
开发者可以按需创建应用子窗口,如弹窗等,并对其进行属性设置等操作。
开发者可以按需创建应用子窗口,如弹窗等,并对其进行属性设置等操作。
### 开发步骤
### 开发步骤
1.
创建应用子窗口。
1.
创建应用子窗口。
通过
`createSubWindow`
接口创建应用子窗口。
通过
`createSubWindow`
接口创建应用子窗口。
2.
设置子窗口属性。
2.
设置子窗口属性。
子窗口创建成功后,可以改变其大小、位置等,还可以根据应用需要设置窗口背景色、亮度等属性。
子窗口创建成功后,可以改变其大小、位置等,还可以根据应用需要设置窗口背景色、亮度等属性。
3.
加载显示子窗口的具体内容。
3.
加载显示子窗口的具体内容。
通过
`setUIContent`
和
`showWindow`
接口加载显示子窗口的具体内容。
通过
`setUIContent`
和
`showWindow`
接口加载显示子窗口的具体内容。
4.
销毁子窗口。
4.
销毁子窗口。
当不再需要某些子窗口时,可根据具体实现逻辑,使用
`destroyWindow`
接口销毁子窗口。
当不再需要某些子窗口时,可根据具体实现逻辑,使用
`destroyWindow`
接口销毁子窗口。
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
windowStage_
=
null
;
let
sub_windowClass
=
null
;
export
default
class
EntryAbility
extends
UIAbility
{
showSubWindow
()
{
// 1.创建应用子窗口。
windowStage_
.
createSubWindow
(
"
mySubWindow
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the subwindow. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
sub_windowClass
=
data
;
console
.
info
(
'
Succeeded in creating the subwindow. Data:
'
+
JSON
.
stringify
(
data
));
// 2.子窗口创建成功后,设置子窗口的位置、大小及相关属性等。
sub_windowClass
.
moveWindowTo
(
300
,
300
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to move the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in moving the window.
'
);
});
sub_windowClass
.
resize
(
500
,
500
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to change the window size. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in changing the window size.
'
);
});
// 3.为子窗口加载对应的目标页面。
sub_windowClass
.
setUIContent
(
"
pages/page3
"
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content.
'
);
// 3.显示子窗口。
sub_windowClass
.
showWindow
((
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to show the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in showing the window.
'
);
});
});
})
}
destroySubWindow
()
{
// 4.销毁子窗口。当不再需要子窗口时,可根据具体实现逻辑,使用destroy对其进行销毁。
sub_windowClass
.
destroyWindow
((
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to destroy the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in destroying the window.
'
);
});
}
onWindowStageCreate
(
windowStage
)
{
windowStage_
=
windowStage
;
// 开发者可以在适当的时机,如主窗口上按钮点击事件等,创建子窗口。并不一定需要在onWindowStageCreate调用,这里仅作展示
this
.
showSubWindow
();
}
onWindowStageDestroy
()
{
// 开发者可以在适当的时机,如子窗口上点击关闭按钮等,销毁子窗口。并不一定需要在onWindowStageDestroy调用,这里仅作展示
this
.
destroySubWindow
();
}
};
```
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
windowStage_
=
null
;
let
sub_windowClass
=
null
;
export
default
class
EntryAbility
extends
UIAbility
{
showSubWindow
()
{
// 1.创建应用子窗口。
windowStage_
.
createSubWindow
(
"
mySubWindow
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the subwindow. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
sub_windowClass
=
data
;
console
.
info
(
'
Succeeded in creating the subwindow. Data:
'
+
JSON
.
stringify
(
data
));
// 2.子窗口创建成功后,设置子窗口的位置、大小及相关属性等。
sub_windowClass
.
moveWindowTo
(
300
,
300
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to move the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in moving the window.
'
);
});
sub_windowClass
.
resize
(
500
,
500
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to change the window size. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in changing the window size.
'
);
});
// 3.为子窗口加载对应的目标页面。
sub_windowClass
.
setUIContent
(
"
pages/page3
"
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content.
'
);
// 3.显示子窗口。
sub_windowClass
.
showWindow
((
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to show the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in showing the window.
'
);
});
});
})
}
destroySubWindow
()
{
// 4.销毁子窗口。当不再需要子窗口时,可根据具体实现逻辑,使用destroy对其进行销毁。
sub_windowClass
.
destroyWindow
((
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to destroy the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in destroying the window.
'
);
});
}
onWindowStageCreate
(
windowStage
)
{
windowStage_
=
windowStage
;
// 开发者可以在适当的时机,如主窗口上按钮点击事件等,创建子窗口。并不一定需要在onWindowStageCreate调用,这里仅作展示
this
.
showSubWindow
();
}
onWindowStageDestroy
()
{
// 开发者可以在适当的时机,如子窗口上点击关闭按钮等,销毁子窗口。并不一定需要在onWindowStageDestroy调用,这里仅作展示
this
.
destroySubWindow
();
}
};
```
## 体验窗口沉浸式能力
## 体验窗口沉浸式能力
...
@@ -203,75 +207,78 @@ export default class EntryAbility extends UIAbility {
...
@@ -203,75 +207,78 @@ export default class EntryAbility extends UIAbility {
### 开发步骤
### 开发步骤
1.
获取应用主窗口。
1.
获取应用主窗口。
通过
`getMainWindow`
接口获取应用主窗口。
通过
`getMainWindow`
接口获取应用主窗口。
2.
实现沉浸式效果。有以下两种方式:
2.
实现沉浸式效果。有以下两种方式:
-
方式一:调用
`setWindowSystemBarEnable`
接口,设置导航栏、状态栏不显示,从而达到沉浸式效果。
-
方式一:调用
`setWindowSystemBarEnable`
接口,设置导航栏、状态栏不显示,从而达到沉浸式效果。
-
方式二:调用
`setWindowLayoutFullScreen`
接口,设置应用主窗口为全屏布局;然后调用
`setWindowSystemBarProperties`
接口,设置导航栏、状态栏的透明度、背景/文字颜色以及高亮图标等属性,使之保持与主窗口显示协调一致,从而达到沉浸式效果。
-
方式二:调用
`setWindowLayoutFullScreen`
接口,设置应用主窗口为全屏布局;然后调用
`setWindowSystemBarProperties`
接口,设置导航栏、状态栏的透明度、背景/文字颜色以及高亮图标等属性,使之保持与主窗口显示协调一致,从而达到沉浸式效果。
3.
加载显示沉浸式窗口的具体内容。
3.
加载显示沉浸式窗口的具体内容。
通过
`loadContent`
接口加载沉浸式窗口的具体内容。
通过
`loadContent`
接口加载沉浸式窗口的具体内容。
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
// 1.获取应用主窗口。
let
windowClass
=
null
;
windowStage
.
getMainWindow
((
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to obtain the main window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
console
.
info
(
'
Succeeded in obtaining the main window. Data:
'
+
JSON
.
stringify
(
data
));
// 2.实现沉浸式效果。方式一:设置导航栏、状态栏不显示。
let
names
=
[];
windowClass
.
setWindowSystemBarEnable
(
names
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the system bar to be visible. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the system bar to be visible.
'
);
});
// 2.实现沉浸式效果。方式二:设置窗口为全屏布局,配合设置导航栏、状态栏的透明度、背景/文字颜色及高亮图标等属性,与主窗口显示保持协调一致。
let
isLayoutFullScreen
=
true
;
windowClass
.
setWindowLayoutFullScreen
(
isLayoutFullScreen
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the window layout to full-screen mode. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the window layout to full-screen mode.
'
);
});
let
sysBarProps
=
{
statusBarColor
:
'
#ff00ff
'
,
navigationBarColor
:
'
#00ff00
'
,
// 以下两个属性从API Version 8开始支持
statusBarContentColor
:
'
#ffffff
'
,
navigationBarContentColor
:
'
#ffffff
'
};
windowClass
.
setWindowSystemBarProperties
(
sysBarProps
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the system bar properties. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the system bar properties.
'
);
});
})
// 3.为沉浸式窗口加载对应的目标页面。
windowStage
.
loadContent
(
"
pages/page2
"
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content.
'
);
});
}
};
```
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
// 1.获取应用主窗口。
let
windowClass
=
null
;
windowStage
.
getMainWindow
((
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to obtain the main window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
console
.
info
(
'
Succeeded in obtaining the main window. Data:
'
+
JSON
.
stringify
(
data
));
// 2.实现沉浸式效果。方式一:设置导航栏、状态栏不显示。
let
names
=
[];
windowClass
.
setWindowSystemBarEnable
(
names
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the system bar to be visible. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the system bar to be visible.
'
);
});
// 2.实现沉浸式效果。方式二:设置窗口为全屏布局,配合设置导航栏、状态栏的透明度、背景/文字颜色及高亮图标等属性,与主窗口显示保持协调一致。
let
isLayoutFullScreen
=
true
;
windowClass
.
setWindowLayoutFullScreen
(
isLayoutFullScreen
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the window layout to full-screen mode. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the window layout to full-screen mode.
'
);
});
let
sysBarProps
=
{
statusBarColor
:
'
#ff00ff
'
,
navigationBarColor
:
'
#00ff00
'
,
// 以下两个属性从API Version 8开始支持
statusBarContentColor
:
'
#ffffff
'
,
navigationBarContentColor
:
'
#ffffff
'
};
windowClass
.
setWindowSystemBarProperties
(
sysBarProps
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to set the system bar properties. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in setting the system bar properties.
'
);
});
})
// 3.为沉浸式窗口加载对应的目标页面。
windowStage
.
loadContent
(
"
pages/page2
"
,
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content.
'
);
});
}
};
```
## 设置悬浮窗
## 设置悬浮窗
...
@@ -281,6 +288,7 @@ export default class EntryAbility extends UIAbility {
...
@@ -281,6 +288,7 @@ export default class EntryAbility extends UIAbility {
### 开发步骤
### 开发步骤
1.
申请权限。
1.
申请权限。
创建
`WindowType.TYPE_FLOAT`
即悬浮窗类型的窗口,需要在
`module.json5`
文件的
`requestPermissions`
对象中配置
`ohos.permission.SYSTEM_FLOAT_WINDOW`
权限。更多配置信息详见
[
module.json5配置文件
](
../quick-start/module-configuration-file.md
)
。
创建
`WindowType.TYPE_FLOAT`
即悬浮窗类型的窗口,需要在
`module.json5`
文件的
`requestPermissions`
对象中配置
`ohos.permission.SYSTEM_FLOAT_WINDOW`
权限。更多配置信息详见
[
module.json5配置文件
](
../quick-start/module-configuration-file.md
)
。
> **说明:**
> **说明:**
...
@@ -306,77 +314,81 @@ export default class EntryAbility extends UIAbility {
...
@@ -306,77 +314,81 @@ export default class EntryAbility extends UIAbility {
```
```
2.
创建悬浮窗。
2.
创建悬浮窗。
通过
`window.createWindow`
接口创建悬浮窗类型的窗口。
通过
`window.createWindow`
接口创建悬浮窗类型的窗口。
3.
对悬浮窗进行属性设置等操作。
3.
对悬浮窗进行属性设置等操作。
悬浮窗窗口创建成功后,可以改变其大小、位置等,还可以根据应用需要设置悬浮窗背景色、亮度等属性。
悬浮窗窗口创建成功后,可以改变其大小、位置等,还可以根据应用需要设置悬浮窗背景色、亮度等属性。
4.
加载显示悬浮窗的具体内容。
4.
加载显示悬浮窗的具体内容。
通过
`setUIContent`
和
`showWindow`
接口加载显示悬浮窗的具体内容。
通过
`setUIContent`
和
`showWindow`
接口加载显示悬浮窗的具体内容。
5.
销毁悬浮窗。
5.
销毁悬浮窗。
当不再需要悬浮窗时,可根据具体实现逻辑,使用
`destroyWindow`
接口销毁悬浮窗。
当不再需要悬浮窗时,可根据具体实现逻辑,使用
`destroyWindow`
接口销毁悬浮窗。
```
ts
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
import
window
from
'
@ohos.window
'
;
import
window
from
'
@ohos.window
'
;
export
default
class
EntryAbility
extends
UIAbility
{
export
default
class
EntryAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
)
{
onWindowStageCreate
(
windowStage
)
{
// 2. 创建悬浮窗。
// 2. 创建悬浮窗。
let
windowClass
=
null
;
let
windowClass
=
null
;
let
config
=
{
name
:
"
floatWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_FLOAT
,
ctx
:
this
.
context
};
let
config
=
{
name
:
"
floatWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_FLOAT
,
ctx
:
this
.
context
};
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the floatWindow. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to create the floatWindow. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in creating the floatWindow. Data:
'
+
JSON
.
stringify
(
data
));
console
.
info
(
'
Succeeded in creating the floatWindow. Data:
'
+
JSON
.
stringify
(
data
));
windowClass
=
data
;
windowClass
=
data
;
// 3.悬浮窗窗口创建成功后,设置悬浮窗的位置、大小及相关属性等。
// 3.悬浮窗窗口创建成功后,设置悬浮窗的位置、大小及相关属性等。
windowClass
.
moveWindowTo
(
300
,
300
,
(
err
)
=>
{
windowClass
.
moveWindowTo
(
300
,
300
,
(
err
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to move the window. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to move the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in moving the window.
'
);
console
.
info
(
'
Succeeded in moving the window.
'
);
});
});
windowClass
.
resize
(
500
,
500
,
(
err
)
=>
{
windowClass
.
resize
(
500
,
500
,
(
err
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to change the window size. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to change the window size. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in changing the window size.
'
);
console
.
info
(
'
Succeeded in changing the window size.
'
);
});
});
// 4.为悬浮窗加载对应的目标页面。
// 4.为悬浮窗加载对应的目标页面。
windowClass
.
setUIContent
(
"
pages/page4
"
,
(
err
)
=>
{
windowClass
.
setUIContent
(
"
pages/page4
"
,
(
err
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in loading the content.
'
);
console
.
info
(
'
Succeeded in loading the content.
'
);
// 4.显示悬浮窗。
// 4.显示悬浮窗。
windowClass
.
showWindow
((
err
)
=>
{
windowClass
.
showWindow
((
err
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to show the window. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to show the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in showing the window.
'
);
console
.
info
(
'
Succeeded in showing the window.
'
);
});
});
});
});
//5.销毁悬浮窗。当不再需要悬浮窗时,可根据具体实现逻辑,使用destroy对其进行销毁。
//5.销毁悬浮窗。当不再需要悬浮窗时,可根据具体实现逻辑,使用destroy对其进行销毁。
windowClass
.
destroyWindow
((
err
)
=>
{
windowClass
.
destroyWindow
((
err
)
=>
{
if
(
err
.
code
)
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to destroy the window. Cause:
'
+
JSON
.
stringify
(
err
));
console
.
error
(
'
Failed to destroy the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
return
;
}
}
console
.
info
(
'
Succeeded in destroying the window.
'
);
console
.
info
(
'
Succeeded in destroying the window.
'
);
});
});
});
});
}
}
};
};
```
```
## 相关实例
## 相关实例
针对window开发(Stage模型),有以下相关实例可供参考:
针对window开发(Stage模型),有以下相关实例可供参考:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录