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.
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.
- Enter split-screen.
- Press Home.
- Observe resizable launcher.
Ensure that the launcher resizes correctly in all device orientations that it supports.