分屏互动

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

Android 8.0 通过优化分屏功能并为其添加更多功能,从而改进了分屏。在默认实现中,如果用户在进入分屏后点按主屏幕按钮,则顶部窗格会压缩,并且启动器会调整大小。这会向用户表明顶部应用仍处于打开状态,同时保持其启动器布局,以便他们可以从主屏幕查找和启动应用。

示例和源代码

在 Launcher3 代码 /platform/packages/apps/Launcher3/ 中,有此新功能的参考实现

以下 Change 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

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

Example screens for launcher resizing behavior

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

实现

虽然 Android 8.0 为分屏更新提供了参考实现,但设备制造商可以自行决定在其启动器中如何实现。为了支持此功能

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

测试

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

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

确保启动器在其支持的所有设备方向上都能正确调整大小。