Split-screen interactions

In Android 7.0 and later, users can have multiple apps simultaneously displayed on their device screen with the platform feature multi-window. The default mode is split-screen, which provides two activity panes for users to place apps.

Android 8.0 improves split-screen by refining the feature and adding more functionality to it. In the default implementation, if a user taps Home after entering split-screen, the top pane compresses and the launcher resizes. This shows users that the top app is still open while maintaining their launcher layout so they can find and launch apps from their home screen.

Examples and source

There is a reference implementation of this new functionality in the Launcher3 code in /platform/packages/apps/Launcher3/

These Change IDs are related to implementing split-screen in Launcher3, and can act as a reference for device manufacturers who want to make similar updates to their launchers.

  • 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

Example UX

Here are example screens that show the user experience for the default implementation of this feature.

Example screens for launcher resizing behavior

Figure 1. Example screens for launcher resizing in split-screen mode.

Implementation

While Android 8.0 provides a reference implementation for this update to split-screen, it's up to device manufacturers to determine their implementations in their launchers. To support this feature:

  • Implement (or have an existing implementation of) multi-window that follows the Android Compatibility Definition Document (CDD) requirements for multi-window.
  • Make the launcher resizable. The reference implementation in Launcher3 removes app names as the screen gets smaller, but implementations may vary depending on how the launcher compresses, especially if there is custom launcher code.
  • Set the minimum specified height in the launcher manifest. To do this, adjust task_height_of_minimized_mode value in: frameworks/base/core/res/res/values/dimens.xml

Testing

Use manual testing to ensure your implementation is working correctly.

  1. Enter split-screen.
  2. Press Home.
  3. Observe resizable launcher.

Ensure that the launcher resizes correctly in all device orientations that it supports.