分屏交互

在 Android 7.0 及更高版本中,用户可以借助平台功能(多窗口模式)在设备屏幕上同时显示多个应用。 默认模式是分屏,该模式可为用户提供两个活动窗格供他们放置应用。

Android 8.0 通过优化分屏功能并为其添加更多功能来改进分屏模式。在默认实现中,如果用户在进入分屏模式后点按主屏幕,则系统会压缩顶部窗格,并调整启动器的大小。这是为了向用户展示顶部应用依然处于打开状态,同时保持用户的启动器布局,以便用户从主屏幕中查找和启动应用。

示例和源代码

/platform/packages/apps/Launcher3/ 中的 Launcher3 代码中有这项新功能的参考实现

以下更改 ID 与在 Launcher3 中实现分屏相关,并且可供要对其启动器进行类似更新的设备制造商作为参考。

  • Change-Id:I48e5cb3bd15e70627d9bf007d93bc731612fba2e
  • Change-Id:I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0
  • Change-Id:Id6557d070edb664aa1f4851de7abf494cf8a0677
  • Change-Id:Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8
  • Change-Id:Ie50279f4edb94812120dea492aefa4f18218162f
  • Change-Id:I6f9ee7be12d3266f021796576c771f86f6120246
  • Change-Id:I106fe12041565a090047f146a07d4bc80a074b4a
  • Change-Id:Ibb49c56aab29d1223a0ab36476a32d565566eb25
  • Change-Id:Id60c793730d982277c9d91860e9fb0e6a0df7d38
  • Change-Id:I9d358e74ab403989929dee87542d3dde78c2f229
  • Change-Id:I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
  • Change-Id:I776c6f710e081645cff891487022cf787869ee3f
  • Change-Id:I2d17c89db2eb8d60b3393c2abc3b026e5574085d
  • Change-Id:Id6ee68826c4f3cc579880540812fd8ed834f8267

UX 示例

以下是示例屏幕,用于展示此功能的默认实现的用户体验。

用于展示启动器调整大小行为的示例屏幕

图 1. 用于展示在分屏模式下调整启动器大小的示例屏幕。

实现

尽管 Android 8.0 可为此分屏更新提供参考实现,但设备制造商在其启动器中的实现还是要由他们自己来确定。为了支持此功能,请执行以下操作:

  • 实现符合 Android 兼容性定义文档 (CDD) 多窗口要求的多窗口(或具有多窗口的现有实现)。
  • 使启动器可供调整大小。Launcher3 中的参考实现会在屏幕变小的情况下移除应用名称,但具体实现可能会因启动器压缩方式而异(特别是在存在自定义启动器代码的情况下)。
  • 在启动器清单中设置最小指定高度值。为此,请在以下位置调整 task_height_of_minimized_mode 值:frameworks/base/core/res/res/values/dimens.xml

测试

使用手动测试来确保您的实现正常运行。

  1. 进入分屏模式。
  2. 主屏幕按钮。
  3. 观察可调整大小的启动器。

确保启动器在其支持的所有设备屏幕方向上均可正确调整大小。