折叠式设备为创新的应用程序开发提供了机会。同一设备上的大屏幕和小屏幕提供了互补但截然不同的交互式体验。折叠功能(例如桌面姿势和书籍姿势)可以实现富有想象力的布局和非常规的用户界面。
响应式/自适应设计
对折叠式设备的支持始于响应式设计。响应式布局使应用程序能够在各种显示尺寸上都能出色地显示和运行。使用 BoxWithConstraints
可组合项实现响应式设计。
但是,为了最佳地支持折叠式设备的折叠和展开屏幕,布局需要进行调整。折叠和展开屏幕的屏幕尺寸和纵横比差异可能非常大,以至于即使是响应式布局也无法充分适应这两个显示屏。自适应设计创建了针对不同屏幕尺寸和配置优化的替代布局。当折叠式设备折叠或展开、处于纵向或横向方向或处于桌面或书籍姿势时,自适应布局可提供优化的用户体验。
例如,在横向方向上展开的大屏幕折叠式设备就像平板电脑一样;具有导航栏的双窗格布局充分利用了宽屏。折叠后,该设备类似于标准手机;具有底部导航栏的单列布局简单明了,但有效。由于布局是分开的,因此您可以针对其特定用例优化每个布局。
折叠式设备的折叠方式多种多样,例如内折(显示屏折叠到设备内部)或外折(显示屏环绕设备)。响应式/自适应设计使您的应用程序能够支持各种折叠式外形规格。
要了解有关折叠式设备的响应式/自适应设计的更多信息,请参阅以下内容:
折叠状态和姿势
折叠式设备的折叠将屏幕分成两部分。折叠可以是屏幕的灵活区域,也可以是在双屏设备上分隔两个显示屏的铰链。
折叠具有维度和 occlusionType
属性,该属性定义折叠是否遮挡部分显示。在双屏设备上,occlusionType
为 FULL
,即使应用程序可能跨越两个屏幕,折叠(铰链)区域也无法查看任何内容。
折叠式设备可以处于各种折叠状态,例如 FLAT
(完全展开)或 HALF_OPENED
(介于完全展开和完全关闭之间)。
当设备处于 HALF_OPENED
状态时,根据折叠的方向,可能存在两种姿势:桌面姿势(水平折叠)和书籍姿势(垂直折叠)。
桌面姿势和书籍姿势提供了新的布局可能性,但 HALF_OPENED
设备状态也带来了一些限制。例如,靠近折叠的 UI 控件可能难以供用户访问,并且覆盖折叠的文本可能难以阅读(如果 occlusionType
为 FULL
,则无法阅读)。
设计您的布局,以便在所有设备状态下都能访问 UI 元素。定位对话框和弹出菜单,使其不会覆盖折叠。确保在设备部分折叠时重要的内容可见。当设备半展开时,将内容分成两个区域——在桌面姿势中为顶部和底部,在书籍姿势中为左侧和右侧。
有关折叠和折叠姿势的更多信息,请参阅 使您的应用程序能够识别折叠。
应用程序连续性
当设备折叠或展开时,应用程序会在从一个屏幕转换到另一个屏幕时停止并重新启动。为了保持用户的连续性,应用程序应在折叠或展开屏幕上重新创建应用程序布局时恢复其状态。例如,应用程序应执行以下操作:
- 保留键入到输入字段中的文本
- 恢复键盘状态
- 恢复可滚动字段的滚动位置
- 在应用程序停止时从中断处恢复媒体播放
折叠式设备的不同屏幕布局也应相互补充。例如,如果折叠屏幕显示在线商店产品的图像和描述,则展开屏幕应保持连续性,显示相同的图像和描述,但也包括补充内容,例如产品规格或评论。
要了解有关管理应用程序状态和连续性的更多信息,请参阅 保存 UI 状态 和 处理配置更改。
多任务处理
大屏幕折叠式设备具有平板电脑大小的屏幕,非常适合在多窗口模式下进行多任务处理。折叠式设备支持分屏模式;有些甚至支持桌面窗口模式,其中应用程序包含在可移动、可调整大小的窗口中,类似于桌面窗口系统。
|
Android 12(API 级别 31)及更高版本默认采用多窗口模式——在大屏幕上,所有应用程序都以多窗口模式运行,而不管应用程序配置如何。在之前的版本(低至 Android 7.0(API 级别 24))中,您必须将您的应用程序配置为可调整大小才能支持多窗口模式。
有关多窗口模式下多任务处理的信息,请参阅 支持多窗口模式。
拖放
大屏幕折叠式设备提供了充足的屏幕空间来进行拖放交互。折叠式设备上的多窗口模式支持在应用程序之间进行拖放。
拖放交互创造了高效且引人入胜的用户体验。使用 Android 拖放框架向您的应用程序添加拖放功能。有关更多信息,请参阅 启用拖放。