作本文聚焦 HarmonyOS 7API 26的「自由多窗 / 窗口化」能力把一个 App 同时开三个窗口、平板像电脑一样拖拽缩放讲清楚。文中 API 名与接口来自官方文档运行表现以真机实测为准。手机上刷着视频、旁边挂着备忘录、再开个文档对照——这种一屏多窗在平板上早就是刚需。HarmonyOS 把这套能力分成两路平行视界是系统给不适配的应用兜底28 篇讲过自由多窗则是应用主动声明我能缩放、能多窗并存自己接住布局。V哥 这篇讲后者。一、自由多窗到底是什么简单说自由多窗Free Multi-Window是 HarmonyOS 在大屏设备平板、电脑上提供的窗口化体验应用不再占满整屏或被系统塞进分屏而是可被用户自由拖动、拉伸缩放、和别的窗口并排共存类似桌面操作系统。它和平行视界的边界平行视界系统级兜底针对没做横屏/分屏适配的应用系统左右两栏硬拆应用基本不感知。自由多窗应用级适配开发者声明支持哪些窗口模式、最小多大、能否缩放尺寸变化时自己重排布局。一句话平行视界是系统替你分自由多窗是你自己管。二、三种窗口模式与设备矩阵HarmonyOS 把窗口模式归纳为三种应用通过supportWindowMode声明全屏fullscreen、分屏split、自由悬浮多窗floating。官方明确默认值[fullscreen,split,floating]三种全支持注意floating在手机/折叠屏上是悬浮窗平板上是悬浮窗自由多窗电脑上是自由多窗。{ abilities: [ { name: EntryAbility, supportWindowMode: [fullscreen,split,floating] } ] }不声明也不影响系统按默认行为处理但显式声明能让应用在自由多窗里有确定性表现想动态修改可调用setSupportedWindowModes()仅 2in1 与平板可正常调用。设备支持矩阵官方手机支持全屏/分屏/悬浮窗、不支持自由多窗折叠屏多数不支持平板全支持电脑支持且自由多窗为默认。结论很直白——自由多窗是平板和电脑的专属能力适配前用能力查询判断别在手机上硬开floating指望自由窗。三、尺寸约束给窗口划红线光声明支持不够还得告诉系统窗口最小多大、最大多大否则用户拉到畸形比例布局就崩。系统给两条路module.json5 的 metadata 声明系统红线或代码setWindowLimits动态设置更灵活import{window}fromkit.ArkUI;letwinwindow.getLastWindow(this.context);win.setWindowResizeable(true);// 允许通过拖拽缩放win.setWindowLimits({minWidth:320,maxWidth:1200,minHeight:480,maxHeight:1600});// 尺寸红线单位以官方 window 参考为准这些边界是硬红线——但真正的自适应还得靠代码声明只是兜底。四、主动适配三步含真实 API4.1 监听尺寸与状态变化win.on(windowSizeChange,(size:window.Size){constwidthpx2vp(size.width);this.breakpointcalcBreakpoint(width);// 选 xs/sm/md/lg/xl 重组 GridRow/GridCol});win.on(windowStatusChange,(type:window.WindowStatusType){// 模式切换最大化 / 最小化 / 自由多窗时切换列表-详情布局});constrectwin.getWindowProperties().windowRect;// 首屏尺寸建议 onPageShow 取两个官方提示模式变化时系统尺寸未刷新新尺寸要在windowSizeChange回调里取首屏尺寸在onPageShow取别在aboutToAppear取窗口不可见时值不准。4.2 用断点布局接住任意宽度自由多窗的本质是窗口宽高不确定布局必须响应式。用GridRow/GridCol的断点xs/sm/md/lg/xl做多列自适应宽了多列、窄了堆叠——这是一多工程底线呼应 35 篇320vp 能看、1200vp 不乱。4.3 折叠屏展开/折叠也要接import{display}fromkit.ArkUI;display.on(foldStatusChange,(status:display.FoldStatus){// EXPANDED / FOLDED / HALF_FOLDED配合窗口宽决定单栏或多栏});官方提醒要拿折叠后的屏幕宽高用foldDisplayModeChange更稳foldStatusChange可能因时序拿到错误宽高。五、工程纪律与坑别只配限制红线不等于这些尺寸下好看真布局还得靠断点代码兜住。尺寸变化要防抖windowSizeChange拖拽时高频触发重排逻辑要轻量或做节流。设备支持要判自由多窗是平板/电脑专属手机不支持别硬开 floating。多窗状态隔离同一应用开多个自由窗口时各实例状态要独立别共享单例导致串窗。折叠态与窗口宽一起算两个监听结合看只看一个会漏判。六、和前面篇章的关系自由多窗是第 28 篇平行视界的主动版28 是系统兜底39 是应用接管它依赖第 35 篇的断点自适应第 38 篇接续则管跨设备续干——多窗管同屏多任务接续管跨设备续干是 HarmonyOS 7 全场景多设备主线的两枚齿轮。七、什么时候接平板、电脑、折叠屏上的文档、笔记、邮件、社交通讯这类应用V哥 建议把自由多窗列为适配必做用户能把应用拖成任意大小并排干活体验从手机放大版升级到桌面级。成本主要是断点重构但这是一多工程一次投入全设备受益的长期资产。参考与出处以下为本文涉及的官方文档与能力说明建议以官方最新版本为准。窗口模式supportWindowMode / 三种窗口模式 / 设备支持矩阵https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-multi-device-window-mode窗口管理window APIsetWindowResizeable / setWindowLimits / windowSizeChange / windowStatusChangehttps://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window折叠屏开发实践foldStatusChange / FoldStatus / foldDisplayModeChangehttps://developer.huawei.com/consumer/cn/doc/best-practices-V14/bpta-foldable-guide-V14屏幕属性查询及状态监听display API 指南https://developer.huawei.com/consumer/cn/doc/HarmonyOS-Guides/screenproperty-guidelineHarmonyOS 7 新能力一览自由多窗 / 窗口化https://developer.huawei.com/consumer/cn/features/最后一句自由多窗不是系统帮你分屏的兜底而是应用自己声明规矩、自己接住任意尺寸主动重排——HarmonyOS 7 把窗口主动权交还开发者剩下的怎么在 320 到 1200 之间都好看才是大屏适配要练的内功。
企业数字化 ERP 产品动态
相关推荐
Hermes Agent 浏览器自动化实战:用 TaoToken 统一 Key 搭建可追溯研究链路 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:23:16
C++ STL 算法库深度解析:从 <algorithm> 全景到工程级避坑 1. 背景:为什么还要专门研究算法库1.1 STL 六大部分,算法是灵魂STL(Standard Template Library)由六大组件构成:容器(Container)、迭代器(Iterator)、算法(Al… · 2026/9/27 22:23:16
无人机避障实战:2D栅格地图pgm文件解析与路径规划代码详解(含TaoToken配置) /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:23:16
【仓颉语言入门 · 第17课】 【仓颉语言入门 第17课】接口 interface 与实现 第 15、16 课把 struct/class 的骨架和血肉都搭好了。但还差最后一块拼图:类与类之间怎么约定"能力"?怎么让一只鸟和一架飞机共享"能飞"这个抽象?怎么写一个函数… · 2026/9/27 23:02:28
just 1.51.0 Windows x64 下载:命令运行器与justfile说明 just 1.51.0 Windows x64 下载 官方发行页
本文整理 just 1.51.0 的 Windows x64 MSVC 压缩包,用于需要固定版本的项目命令管理环境。备用入口经草料提示页进入夸克,点击“继续访问”查看文件;登录与下载要求以实际页面为准。
文件信息
文… · 2026/9/27 23:02:28
一片训练加速芯片都不要,顶尖团队反手砸百亿抢购最普通算力 一片训练加速芯片都不要,顶尖团队反手砸百亿抢购最普通算力
提到人工智能公司花大钱买算力,你的第一反应大概是抢购英伟达的图形处理器。在这个人人盯着大显卡的年头,如果有人掏出上百亿美元,指明只要最普通、最传统的中央处理器&… · 2026/9/27 23:02:28
【每天一个CSS | Day05】不用JS的毛玻璃时钟,指针真的在走 写在前面
之前我们分别做了极光、像素、3D 城市、夜色卡,全是“纯视觉”。
今天换一个思路:做一个带“信息”的东西——一只真会走的时钟。
毛玻璃卡片 三根指针,秒针每秒跳一格,分针、时针按真实速度行走;开屏一瞬&a… · 2026/9/27 23:02:28
2026最新支付网站模板避坑指南:告别丑模板,5类方案报价全解析 2026最新支付网站模板避坑指南:告别丑模板,5类方案报价全解析 做过支付业务或者正在筹备上线支付接口的朋友,最怕的就是拿到一个“丑得没法看”且功能残缺的模板。很多甲方老板找供应商,对方甩过来一堆千篇一律的后台截图,前端页面配色像2010年… · 2026/9/27 23:02:22
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01