在 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
以下示例屏幕展示了此功能默认实现的用户体验。
图 1. 分屏模式下启动器调整大小的示例屏幕。
实现
虽然 Android 8.0 为分屏更新提供了参考实现,但设备制造商可以自行决定在其启动器中如何实现。为了支持此功能
- 实现(或已实现)遵循 Android 兼容性定义文档 (CDD) 多窗口要求的多窗口。
- 使启动器可调整大小。Launcher3 中的参考实现会在屏幕变小时移除应用名称,但具体实现可能会因启动器的压缩方式而异,尤其是在存在自定义启动器代码的情况下。
- 在启动器清单中设置最小指定高度。为此,请调整
frameworks/base/core/res/res/values/dimens.xml
中的task_height_of_minimized_mode
值。
测试
使用手动测试来确保您的实现正常工作。
- 进入分屏模式。
- 按主屏幕。
- 观察可调整大小的启动器。
确保启动器在其支持的所有设备方向上都能正确调整大小。