【鸿蒙开发】PC实现开局沉浸式全屏

前言

本文将深入探讨鸿蒙PC如何通过沉浸式设计提升用户专注度。无论是高效办公、创意设计,还是娱乐休闲,鸿蒙PC都能通过灵活的界面调整、智能的任务管理和丰富的交互模式,让用户真正"掌控"自己的数字空间。

环境

  • DevEco Studio
  • 2in1模拟器

沉浸式实现

首先创建一个实例项目,运行在2in1设备中效果如下

实现沉浸式很简单,我们只需要调用window的maximize方法

Ts 复制代码
 // EntryAbility.ets
onWindowStageCreate(windowStage: window.WindowStage): void {
  const winClass = windowStage.getMainWindowSync();
  winClass.maximize();
  windowStage.loadContent('pages/Index').then(() => {
  });
}

这个时候我们发现,鼠标移入在上下热区上会显示显示窗口标题栏和dock栏。

如果想要去掉移入热区显示,则需要在调用maximize的时候,传入参数名称 :

参数 说明
FOLLOW_APP_IMMERSIVE_SETTING 0 最大化时,跟随应用app当前设置的沉浸式布局。元服务API: 从API version 12开始,该接口支持在元服务中使用。
EXIT_IMMERSIVE 1 最大化时,如果当前窗口设置了沉浸式布局会退出沉浸式布局。元服务API: 从API version 12开始,该接口支持在元服务中使用。
ENTER_IMMERSIVE 2 最大化时,进入沉浸式布局,鼠标Hover在热区上显示窗口标题栏和dock栏。元服务API: 从API version 12开始,该接口支持在元服务中使用。
ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER14+ 3 最大化时,进入沉浸式布局,鼠标Hover在热区上不显示窗口标题栏和dock栏。元服务API: 从API version 14开始,该接口支持在元服务中使用。
Ts 复制代码
onWindowStageCreate(windowStage: window.WindowStage): void {
  const winClass = windowStage.getMainWindowSync();
  winClass.maximize(window.MaximizePresentation.ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER);
  windowStage.loadContent('pages/Index').then(() => {
  });
}

最终效果

相关推荐
申阳2 分钟前
Day 5:03. 基于Nuxt开发博客项目-页面结构组织
前端·后端·程序员
极客范儿4 分钟前
华为HCIP网络工程师认证—网络参考模型
网络·华为
全马必破三11 分钟前
React的设计理念与核心特性
前端·react.js·前端框架
ttod_qzstudio16 分钟前
替代 TDesign Dialog:用 div 实现可拖拽、遮罩屏蔽的对话框
前端·tdesign
洞窝技术21 分钟前
前端人必看的 node_modules 瘦身秘籍:从臃肿到轻盈,Umi 项目依赖优化实战
前端·vue.js·react.js
Asort31 分钟前
React函数组件深度解析:从基础到最佳实践
前端·javascript·react.js
golang学习记31 分钟前
VS Code + Chrome DevTools MCP 实战:用 AI 助手自动分析网页性能
前端
用户40993225021233 分钟前
Vue 3中reactive函数如何通过Proxy实现响应式?使用时要避开哪些误区?
前端·ai编程·trae
Qinana38 分钟前
🌐 从 HTML/CSS/JS 到页面:浏览器渲染全流程详解
前端·程序员·前端框架
BBB努力学习程序设计40 分钟前
网页布局必备技能:手把手教你实现优雅的纵向导航
前端·html