From 9887a552c4e32bea8314fb64e6ed0b7af637ab98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Tue, 24 Sep 2024 17:52:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +++++ README.md | 49 ++++++++++++++++++++++++++++- src/main/ets/utils/WindowHelper.ets | 45 ++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 716a265..7938acb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ +# [v1.0.3] 2024.xx.xx + +------ +> - 新增WindowHelper工具栏 +> + + # [v1.0.2] 2024.09.04 ------ diff --git a/README.md b/README.md index 19fae4d..be068ea 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ HttpHelper.get() }) ``` ## 4.[自定义view](./src/main/ets/view) -### 2.1.[LoadingView](./src/main/ets/view/LoadingView.ets) +### 4.1.[LoadingView](./src/main/ets/view/LoadingView.ets) > 封装了loading的根布局 @@ -219,6 +219,53 @@ build() { } } ``` +## 5.[Windows](./src/main/ets/utils/WindowHelper.ets) +### 5.1.弹出自定义窗口 + +> 弹出自定义窗口 + +```tsx +import { WindowHelper } from '@szyx/sdk_base' + +WindowHelper.open({ + name: '登录弹窗', + router:'login' +}) + +WindowHelper.close() +``` + +### 5.2.设置沉浸式相关 + +```tsx +// 初始化 +import { WindowHelper } from '@szyx/sdk_base'; +export default class AppAbility extends UIAbility { + onWindowStageCreate(windowStage: window.WindowStage): void { + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + WindowHelper.windowClass = windowStage.getMainWindowSync() + }); + GlobalContext.setContext(this.context) + } +} +``` + +```tsx +// 需要的界面 +// 设置是否全屏 +WindowHelper.setWindowLayoutFullScreen(true) + +// 隐藏状态栏 +WindowHelper.hideStatusBar() + +// 显示状态栏 +WindowHelper.showStatusBar +``` diff --git a/src/main/ets/utils/WindowHelper.ets b/src/main/ets/utils/WindowHelper.ets index bd063e5..c28e682 100644 --- a/src/main/ets/utils/WindowHelper.ets +++ b/src/main/ets/utils/WindowHelper.ets @@ -64,6 +64,51 @@ export class WindowHelper { WindowHelper.cacheWindow = null } } + + private static _windowClass: window.Window | undefined = undefined; + + /** + * 设置窗口管理器 + * @param value 在AppAbility中设置 + */ + public static set windowClass(value: window.Window | undefined) { + WindowHelper._windowClass = value; + } + + public static get windowClass(): window.Window | undefined { + return WindowHelper._windowClass; + } + + + /** + * 设置是否全屏 + * @param isLayoutFullScreen + */ + static setWindowLayoutFullScreen(isLayoutFullScreen: boolean) { + if (WindowHelper._windowClass) { + WindowHelper._windowClass.setWindowLayoutFullScreen(isLayoutFullScreen); + } + } + + /** + * 隐藏状态栏 + */ + static hideStatusBar() { + if (WindowHelper._windowClass) { + WindowHelper._windowClass.setSpecificSystemBarEnabled('status', false); + WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', false); + } + } + + /** + * 显示状态栏 + */ + static showStatusBar() { + if (WindowHelper._windowClass) { + WindowHelper._windowClass.setSpecificSystemBarEnabled('status', true); + WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', true); + } + } } /**