ArkUI实现时,如何将界面包含上状态栏 ?

示例代码(案例:常用组件与布局)的UI需要包含上状态栏区域,否则出现分层,很难看,这如何设置


UI
ArkUI
2023-10-10 15:09:54
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Euphemian

onWindowStageCreate(windowStage: window.WindowStage) {
        // Main window is created, set main page for this ability
        hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');

        let windowClass: window.Window = null;
        try {
            window.getLastWindow(this.context, (err, data) => {
                if (err.code) {
                    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
                    return;
                }
                windowClass = data;
                console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
                // 获取状态栏尺寸信息
                let type = window.AvoidAreaType.TYPE_SYSTEM;
                try {
                    let avoidArea = windowClass.getWindowAvoidArea(type);
                    globalThis.avoidArea = avoidArea

                    console.warn("avoidArea: " + JSON.stringify(globalThis.avoidArea))
                } catch (exception) {
                    console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
                }
                // 设置窗口沉浸
                let isLayoutFullScreen= true;
                try {
                    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.');
                    });
                    // 加载起始页
                    windowStage.loadContent('pages/Start', (err, data) => {
                        if (err.code) {
                            hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
                            return;
                        }
                        hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
                    });
                } catch (exception) {
                    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
                }
            });
        } catch (exception) {
            console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
        }
    }

EntryAbility.ts中这样写,在UI布局中把状态栏高度空出来就行


已于2023-10-10 17:52:20修改
分享
微博
QQ
微信
回复
2023-10-10 17:51:38
相关问题
如何设置沉浸式状态栏
231浏览 • 1回复 待解决
鸿蒙如何获取导航状态栏高度
9326浏览 • 1回复 待解决
ets开发如何设置隐藏状态栏
1398浏览 • 1回复 待解决
Dialog如何覆盖状态栏全屏显示
8220浏览 • 1回复 待解决
如何获取状态栏和导航高度
548浏览 • 1回复 待解决
求大佬告知如何获取状态栏高度?
36浏览 • 1回复 待解决
如何设置状态栏和导航的颜色
468浏览 • 1回复 待解决
如何将Ability的UI界面设置成透明
243浏览 • 1回复 待解决
状态栏的高度怎么获取呢
7871浏览 • 3回复 待解决
应用如何设置隐藏顶部的状态栏
315浏览 • 1回复 待解决
获取状态栏高度的方法
71浏览 • 1回复 待解决
元服务顶部状态栏怎么设置标题
58浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
324浏览 • 1回复 待解决
求获取状态栏高度等方法
6315浏览 • 1回复 待解决
鸿蒙怎么 修改状态栏字体颜色
10000浏览 • 1回复 待解决