本页详细介绍了与桌面窗口化模式相关的功能和测试场景。
桌面设备功能
本部分介绍了与桌面窗口化相关的主要功能和配置。
启用任务限制
如需配置窗口化模式支持的任务数上限,请执行以下操作:
- 启用窗口化模式。
将
config.xml中的配置叠加层标志config_maxDesktopWindowingActiveTasks设置为支持的任务数量上限。如需支持无限数量的任务,请将该标志设置为默认值0:<integer name="config_maxDesktopWindowingActiveTasks">4</integer>
浏览器专用功能
Android 16 引入了两项浏览器专用功能:可自定义的标题边衬区和应用实例管理。本部分介绍了用于验证浏览器兼容性的测试场景。OEM 必须验证功能实现是否按预期运行。
可自定义的标题边衬区的测试用例
以下测试用例用于验证浏览器与可自定义的标题边衬区的兼容性:
- 界面互动性:验证浏览器标题栏界面在所有窗口配置(自由窗口、分屏和全屏)中是否保持完全互动。
- 系统图标间距:确认浏览器界面不会绘制在系统图标下方。
- 前景色应用:验证是否根据浏览器的主题将正确的前景色应用于应用标题栏中的系统图标。 当浏览器的界面主题与系统主题不同时,这一点尤为重要。
- 窗口拖动:验证是否可以通过长按标签栏空白区域的任意位置来拖动自由窗口。
- 调整大小时的标签页可见性:测试标签页是否根据窗口宽度显示或隐藏,以保持最佳可用性。
包含拖动操作行为的应用实例管理测试用例
以下测试用例用于验证浏览器与应用实例管理的兼容性:
- 新窗口创建:确认将标签页从标签栏拖动到空白区域会创建一个包含该标签页的新浏览器窗口。
- 最后一个标签页没有新窗口(单实例):如果只打开了一个浏览器实例,请验证拖动该窗口中的最后一个标签页不会创建新窗口。
桌面设备优先和触控优先行为模式
桌面窗口化模式旨在支持独立平板电脑以外的各种设备规格,包括翻盖式设备和连接了外接显示屏的设备。由于不同的设备规格会带来不同的用户互动预期(通常由主要输入方法 [触控或键盘和鼠标] 决定),因此桌面窗口化采用两种不同的行为模式:
- 桌面优先模式:提供键盘和触控板优化体验,系统优先选择自由窗口模式。此模式适用于笔记本电脑类配置。
- 触控优先模式:提供触控优化体验,其中系统优先选择全屏窗口。此模式是独立平板电脑的默认模式。
这些模式并非独立的桌面环境,而是决定默认界面行为的显示屏状态。
行为差异
下表总结了桌面优先模式和触控优先模式之间的主要界面和功能差异:
| 功能 | 触控优先模式 | 桌面设备优先模式 |
|---|---|---|
| 默认启动 | 除非自由格式的窗口已位于顶部,否则窗口会以全屏模式启动。 | 除非顶部已显示全屏窗口,否则窗口会以自由窗口模式启动。 |
| 任务栏类型 | 在全屏模式下使用临时任务栏(仅显示固定的应用)。 | 始终使用桌面任务栏(显示已固定的应用和已打开的应用)。 |
| 重新聚焦 | 窗口会根据当前显示模式重新激活(例如,如果显示屏处于桌面窗口模式,则以可自由调整的窗口模式重新激活)。 | 窗口会根据其自身已保存的窗口模式重新激活(例如,全屏窗口始终以全屏模式恢复)。 |
| 拖动到顶部 | 将窗口拖动到顶部边缘即可进入全屏模式。 | 将窗口拖动到顶部边缘会进入最大化状态。 |
| 窗口控件 | 使用应用句柄进行全屏控制。 | 使用悬停菜单进行全屏控制。 |
桌面优先模式是一种按显示屏设置的状态,这意味着设备可以同时托管触控优先的内部显示屏和桌面优先的外部显示屏。
切换触发器
系统会评估多种因素,以确定显示屏的合适模式:
- 输入外围设备:如果键盘和触控板/鼠标均已连接并启用,显示屏会切换到桌面优先模式。
- 外接显示屏:除非外接显示屏正在镜像内部显示屏,否则通常默认采用桌面优先模式。
- 设备姿态:对于可变形设备,模式可以根据物理屏幕方向进行切换(例如,当键盘向后翻转时,切换到触控优先模式)。
技术实现
此状态的“事实来源”是显示窗口模式,具体来说是显示 TaskDisplayArea 的窗口模式。Shell 和启动器组件可以通过 DisplayAreaInfo 或显示屏上下文的 WindowConfiguration 访问此状态。