Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Split-screen interactions
Stay organized with collections
Save and categorize content based on your preferences.
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.
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.
- Enter split-screen.
- Press Home.
- Observe resizable launcher.
Ensure that the launcher resizes correctly in all device orientations that it
supports.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-03-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-07 UTC."],[],[],null,["# Split-screen interactions\n\nIn Android 7.0 and later, users can have multiple apps simultaneously displayed\non their device screen with the platform feature [multi-window](/docs/core/display/multi-window).\nThe default mode is split-screen, which provides two activity panes for users to\nplace apps.\n\n\nAndroid 8.0 improves split-screen by refining the feature and adding more\nfunctionality to it. In the default implementation, if a user taps\n**Home** after entering split-screen, the top pane compresses and\nthe launcher resizes. This shows users that the top app is still open while\nmaintaining their launcher layout so they can find and launch apps from their\nhome screen.\n\nExamples and source\n-------------------\n\n\nThere is a reference implementation of this new functionality in the Launcher3\ncode in `/platform/packages/apps/Launcher3/`\n\n\nThese Change IDs are related to implementing split-screen in Launcher3, and can\nact as a reference for device manufacturers who want to make similar updates to\ntheir launchers.\n\n- Change-Id: `I48e5cb3bd15e70627d9bf007d93bc731612fba2e`\n- Change-Id: `I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0`\n- Change-Id: `Id6557d070edb664aa1f4851de7abf494cf8a0677`\n- Change-Id: `Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8`\n- Change-Id: `Ie50279f4edb94812120dea492aefa4f18218162f`\n- Change-Id: `I6f9ee7be12d3266f021796576c771f86f6120246`\n- Change-Id: `I106fe12041565a090047f146a07d4bc80a074b4a`\n- Change-Id: `Ibb49c56aab29d1223a0ab36476a32d565566eb25`\n- Change-Id: `Id60c793730d982277c9d91860e9fb0e6a0df7d38`\n- Change-Id: `I9d358e74ab403989929dee87542d3dde78c2f229`\n- Change-Id: `I925d5ac9d29439c5d61cf089e7784065a8cb5ebd`\n- Change-Id: `I776c6f710e081645cff891487022cf787869ee3f`\n- Change-Id: `I2d17c89db2eb8d60b3393c2abc3b026e5574085d`\n- Change-Id: `Id6ee68826c4f3cc579880540812fd8ed834f8267`\n\nExample UX\n----------\n\n\nHere are example screens that show the user experience for the default\nimplementation of this feature.\n\n\n**Figure 1**. Example screens for launcher\nresizing in split-screen mode.\n\nImplementation\n--------------\n\n\nWhile Android 8.0 provides a reference implementation for this update to\nsplit-screen, it's up to device manufacturers to determine their implementations\nin their launchers. To support this feature:\n\n- Implement (or have an existing implementation of) multi-window that follows the Android Compatibility Definition Document (CDD) [requirements\n for multi-window](/docs/compatibility/android-cdd#3814-multi-windows).\n- 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.\n- 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`\n\nTesting\n-------\n\n\nUse manual testing to ensure your implementation is working correctly.\n\n1. Enter split-screen.\n2. Press **Home**.\n3. Observe resizable launcher.\n\n\nEnsure that the launcher resizes correctly in all device orientations that it\nsupports."]]