徐勤民 6 mesi fa
parent
commit
9887a552c4
3 ha cambiato i file con 100 aggiunte e 1 eliminazioni
  1. 7 0
      CHANGELOG.md
  2. 48 1
      README.md
  3. 45 0
      src/main/ets/utils/WindowHelper.ets

+ 7 - 0
CHANGELOG.md

@@ -1,4 +1,11 @@
 
+# [v1.0.3] 2024.xx.xx
+
+------
+> - 新增WindowHelper工具栏
+>
+
+
 # [v1.0.2] 2024.09.04
 
 ------

+ 48 - 1
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
+```
 
 
 

+ 45 - 0
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);
+    }
+  }
 }
 
 /**