了解可折叠设备

可折叠设备为创新的应用开发提供了机会。同一设备上的大屏幕和小屏幕可提供互补但截然不同的交互体验。桌面模式和书本模式等折叠功能可实现富有想象力的布局和非传统的用户界面。

图 1. 可折叠设备的多种姿势:折叠、完全展开、旋转为横向的完全展开模式以及半展开(桌面模式)。

响应式/自适应设计

对可折叠设备的支持始于响应式设计。响应式布局使应用在各种显示尺寸上都能呈现出色的外观和功能。通过 BoxWithConstraints 可组合项实现响应式设计。

但是,为了最佳支持可折叠设备的折叠和展开屏幕,布局需要进行调整。折叠和展开屏幕的屏幕尺寸和纵横比差异可能很大,以至于即使是响应式布局也无法充分适应两种显示。自适应设计可创建针对不同屏幕尺寸和配置进行优化的替代布局。当可折叠设备折叠或展开、处于纵向或横向、或处于桌面模式或书本模式时,自适应布局可提供优化的用户体验。

例如,展开为横向的大屏幕可折叠设备类似于平板电脑;带有导航栏的双面板布局可以很好地利用宽屏。折叠后,设备类似于标准手机;带有底部导航栏的单列布局简单但有效。由于布局是独立的,您可以针对其特定用例优化每个布局。

图 2. 针对折叠和展开屏幕优化的自适应布局。

可折叠设备以各种方式折叠,例如向内折叠(显示屏折叠到设备内部)或向外折叠(显示屏环绕设备)。响应式/自适应设计可让您的应用支持各种可折叠外形设备。

要了解有关可折叠设备响应式/自适应设计的更多信息,请参阅以下内容

可折叠状态和姿势

可折叠设备的折叠部分将屏幕分为两部分。折叠可以是屏幕的柔性区域,或者在双屏设备上,可以是分隔两个显示屏的铰链。

折叠部分具有尺寸和 occlusionType 属性,该属性定义折叠部分是否遮挡了部分显示屏。在双屏设备上,occlusionTypeFULL,即使应用可以跨越两个屏幕,在折叠(铰链)区域中也无法查看任何内容。

可折叠设备可以处于各种折叠状态,例如 FLAT(完全打开)或 HALF_OPENED(介于完全打开和完全关闭之间)。

图 3. 可折叠设备处于展开和半展开状态。

当设备处于 HALF_OPENED 状态时,根据折叠方向,有两种可能的姿势:桌面模式(水平折叠)和书本模式(垂直折叠)。

桌面模式和书本模式提供了新的布局可能性,但 HALF_OPENED 设备状态也带来了一些限制。例如,靠近折叠部分的界面控件可能难以供用户访问,并且覆盖折叠部分的文本可能难以阅读(如果 occlusionTypeFULL,则无法阅读)。

设计您的布局,使界面元素在所有设备状态下都可访问。定位对话框和弹出菜单,使其不会覆盖折叠部分。确保当设备部分折叠时,重要内容是可见的。当设备半开时,将内容分成两个区域——桌面模式下为顶部和底部,书本模式下为左侧和右侧。

有关折叠和可折叠姿势的更多信息,请参阅让您的应用支持折叠

应用连续性

当设备折叠或展开时,应用在从一个屏幕过渡到另一个屏幕时会停止并重新启动。为了保持用户的连续性,应用在折叠或展开屏幕上重新创建应用布局时应恢复其状态。例如,应用应执行以下操作:

  • 保留输入字段中输入的文本
  • 恢复键盘状态
  • 恢复可滚动字段的滚动位置
  • 在应用停止时恢复媒体播放,从停止处继续

可折叠设备的不同屏幕布局也应相互补充。例如,如果折叠屏幕显示在线商店中产品的图片和描述,展开屏幕应通过显示相同的图片和描述来保持连续性,但也要包含补充内容,例如产品规格或评论。

要了解有关管理应用状态和连续性的更多信息,请参阅保存界面状态处理配置更改

多任务处理

大屏幕可折叠设备具有平板电脑大小的屏幕,非常适合在多窗口模式下进行多任务处理。可折叠设备支持分屏模式;有些甚至支持桌面窗口模式,在这种模式下,应用包含在可移动、可调整大小的窗口中,类似于桌面窗口系统。

图 4. 可折叠设备在横向模式下以分屏模式(左)和桌面窗口模式(右)运行三个应用。

Android 12(API 级别 31)及更高版本默认为多窗口模式——在大屏幕上,所有应用都以多窗口模式运行,无论应用配置如何。在 Android 7.0(API 级别 24)到更高版本之前的版本中,您必须将应用配置为可调整大小才能支持多窗口模式。

有关多窗口模式下多任务处理的信息,请参阅支持多窗口模式

拖放

大屏幕可折叠设备为拖放交互提供了充足的屏幕空间。可折叠设备上的多窗口模式支持应用之间的拖放操作。

拖放交互可创建高效且引人入胜的用户体验。使用 Android 拖放框架为您的应用添加拖放功能。有关更多信息,请参阅启用拖放

其他资源