0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OS元服务开发:【(Stage模型)学习窗口沉浸式能力】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-03 18:27 次阅读

一、体验窗口沉浸式能力说明

在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力(窗口沉浸式能力都是针对应用主窗口而言的),达到预期效果。

二、开发步骤

1.获取应用主窗口。

通过getMainWindow接口获取应用主窗口。

2.实现沉浸式效果。

调用setWindowSystemBarEnable接口,设置导航栏、状态栏不显示,从而达到沉浸式效果。

3.加载显示沉浸式窗口的具体内容。

通过loadContent接口加载沉浸式窗口的具体内容。

搜狗高速浏览器截图20240326151450.png

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.');
            });
        })
        // 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.');
        });
    }
};

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3158

    浏览量

    48701
  • 鸿蒙
    +关注

    关注

    57

    文章

    2306

    浏览量

    42730
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    188

    浏览量

    4367
收藏 人收藏

    评论

    相关推荐

    Stage 模型深入解读

    HarmonyOS 3.1 版本(API 9)推出了全新应用开发模型 - Stage 模型,该模型重新定义了应用
    的头像 发表于 02-18 09:28 1079次阅读
    <b class='flag-5'>Stage</b> <b class='flag-5'>模型</b>深入解读

    鸿蒙OS开发案例:【Stage模型卡片】

    本示例展示了Stage模型卡片提供方的创建与使用。
    的头像 发表于 04-09 17:13 939次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b>案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>卡片】

    鸿蒙应用/服务开发-窗口Stage模型)设置应用主窗口

    一、 设置应用主窗口****说明 在Stage模型下,应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中,通过Wind
    发表于 02-05 14:45

    鸿蒙应用/服务开发-窗口Stage模型)体验窗口沉浸能力

    一、体验窗口沉浸能力说明 在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的
    发表于 02-06 15:08

    Stage模型深入解读

    HarmonyOS 3.1版本(API 9)推出了全新应用开发模型-Stage模型,该模型重新定义了应用
    发表于 03-15 10:32

    OpenHarmony应用模型的构成要素与Stage优势

    (无屏设备可裁剪窗口)。 便于系统扩展窗口形态。 在多设备(如桌面设备和移动设备)上,应用组件可使用同一套生命周期。 平衡应用能力和系统管控成本 Stage
    发表于 09-26 16:48

    鸿蒙原生应用/服务开发-Stage模型能力接口(一)

    从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stage模型下使用。二、导入模块 .import Ability from
    发表于 12-08 16:34

    鸿蒙原生应用/服务开发-Stage模型能力接口(二)

    退出原因、迁移结果、窗口类型等。本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stage模型下使用。二、导入模块
    发表于 12-11 14:48

    鸿蒙原生应用/服务开发-Stage模型能力接口(四)

    一、说明 AbilityStage是HAP的运行时类。AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。 本模块首批接口从
    发表于 12-14 15:39

    鸿蒙原生应用/服务开发-Stage模型能力接口(五)

    Stage模型下使用 二、 导入模块 import common from \'@ohos.app.ability.common\'; 三、系统能力 :以下各项对应的系统能力均为
    发表于 12-15 15:11

    鸿蒙原生应用/服务开发-Stage模型能力接口(六)

    的起始版本。本模块接口仅可在Stage模型下使用。 二、 导入模块 import contextConstant from \'@ohos.app.ability.contextConstant\'; 三
    发表于 12-18 14:40

    鸿蒙原生应用/服务开发-Stage模型能力接口(七)

    接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 import EnvironmentCallback from
    发表于 12-19 11:03

    鸿蒙原生应用/服务开发-Stage模型能力接口(八)

    独标记接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 .import ExtensionAbility from
    发表于 12-20 16:12

    Stage模型深入解读

    作者:sunbingxin 应用框架架构师 HarmonyOS 3.1版本(API 9)推出了全新应用开发模型-Stage模型,该模型重新定
    的头像 发表于 03-16 13:35 868次阅读

    鸿蒙OS服务开发:【(Stage模型)设置应用主窗口

    Stage模型下,应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中,通过WindowStage获取应用主窗口,即可
    的头像 发表于 04-03 18:28 1169次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>元</b><b class='flag-5'>服务</b><b class='flag-5'>开发</b>:【(<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>)设置应用主<b class='flag-5'>窗口</b>】