IT评测·应用市场-qidao123.com

标题: HarmonyOS窗口管理---建立子窗口 [打印本页]

作者: 忿忿的泥巴坨    时间: 2024-12-29 14:42
标题: HarmonyOS窗口管理---建立子窗口
窗口开发概述

HarmonyOS通过窗口模块实现窗口管理,包括:
应用窗口的分类

应用窗口是指与应用显示相关的窗口。根据显示内容的差别,应用窗口又分为应用主窗口和应用子窗口两种范例。
窗口模块的用途

窗口提供管理窗口的一些底子本领,包括对当前窗口的创建、销毁、各属性的设置,以及对各窗口间的管理调度。
该模块提供以下窗口相关的常用功能。
在HarmonyOS中,窗口模块的紧张职责如下;
窗口沉浸式本领

窗口沉浸式本领是指对状态栏、导航栏等系统窗口进行控制,淘汰状态栏、导航栏等系统,界面的突兀感,从而利用户获得最佳体验的本领。
沉浸式本领只在应用主窗口作为全屏窗口时见效。通常环境下,应用子窗口(弹窗、悬浮等辅助窗口)和处于自由窗口下的应用主窗口无法利用沉浸式本领
代码实现:
在EntryAbility中导入WindowStage:窗口管理器
  1. AppStorage.SetOrCreate("windowStage",windowStage)
复制代码
创建子窗口:这里是在异步函数中写的子窗口,这样就可以在触发生命周期的时候显示子窗口
注意:子窗口的监听事件是没有写的如有必要可以自行添加,还可以添加各种属性更多属性点击链接查看所需https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/js-apis-window-0000001477981397-V2
  1. //导入模块
  2. import window from '@ohos.window'
  3. @Entry
  4. @Component
  5. export struct SubWindow {
  6.   async aboutToAppear() {
  7.     //创建子窗口  导入窗口管理器
  8.     let windowStage = AppStorage.Get<window.WindowStage>("windowStage")
  9.     let subWindow: window.Window = null
  10.     windowStage.createSubWindow("SubWindow", (err, date) => {
  11.       subWindow = date
  12.       // 子窗口创建成功后,设置子窗口的位置
  13.       subWindow.moveWindowTo(1000, 300)
  14.       // 设置子窗口的大小
  15.       subWindow.resize(500, 500)
  16.       // 为子窗口加载对应的目标页面。
  17.       subWindow.setUIContent("View/SubWindow")
  18.       // 显示子窗口。
  19.       subWindow.showWindow()
  20.     })
  21.   }
  22.   build() {
  23.     Column() {
  24.     }
  25.   }
  26. }
复制代码
目标页面:任意写一个Page页面导入子窗口页面代码就欧克了
  1. import window from '@ohos.window'
  2. @Entry
  3. @Component
  4. struct Index {
  5.   @State message: string = '子窗口加载页面'
  6.   private sub: window.Window
  7.   aboutToAppear() {
  8.     this.sub = window.findWindow('SubWindow')
  9.   }
  10.   build() {
  11.     Column() {
  12.       Text(this.message)
  13.         .fontSize(30)
  14.     }.width('100%').height('100%').backgroundColor(Color.Pink)
  15.   }
  16. }
复制代码
结果图:

本日内容就完成了,希望能帮助到各位朋友,最后愿在座的都能在生疏的人山人海中,找到自由的誓约

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4