2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
화면 분할 상호작용
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 7.0 이상에서는 사용자가 플랫폼 기능인 멀티 윈도우를 사용하여 기기 화면에 여러 개의 앱을 동시에 표시할 수 있습니다.
기본 모드는 사용자가 앱을 배치할 수 있도록 두 개의 활동 창을 제공하는 분할 화면입니다.
Android 8.0은 기능을 조정하고 여기에 추가 기능을 더하여 분할 화면을 개선합니다. 기본 구현에서는 사용자가 분할 화면으로 전환한 후 홈을 탭하면 상단 창이 압축되고 런처 크기가 변경됩니다. 이를 통해 사용자는 런처 레이아웃을 유지하는 동시에 계속해서 상단 앱이 열려 있음을 확인할 수 있으며, 따라서 홈 화면에서 앱을 찾아 실행할 수 있습니다.
예시 및 소스
/platform/packages/apps/Launcher3/
의 Launcher3 코드에서 이 새로운 기능의 참조 구현을 찾아볼 수 있습니다.
이러한 변경 ID는 Launcher3의 분할 화면 구현과 관련이 있으며 런처에 유사한 업데이트를 적용하고 싶어하는 기기 제조업체를 위한 참조로 기능할 수 있습니다.
- 변경 ID:
I48e5cb3bd15e70627d9bf007d93bc731612fba2e
- 변경 ID:
I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0
- 변경 ID:
Id6557d070edb664aa1f4851de7abf494cf8a0677
- 변경 ID:
Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8
- 변경 ID:
Ie50279f4edb94812120dea492aefa4f18218162f
- 변경 ID:
I6f9ee7be12d3266f021796576c771f86f6120246
- 변경 ID:
I106fe12041565a090047f146a07d4bc80a074b4a
- 변경 ID:
Ibb49c56aab29d1223a0ab36476a32d565566eb25
- 변경 ID:
Id60c793730d982277c9d91860e9fb0e6a0df7d38
- 변경 ID:
I9d358e74ab403989929dee87542d3dde78c2f229
- 변경 ID:
I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
- 변경 ID:
I776c6f710e081645cff891487022cf787869ee3f
- 변경 ID:
I2d17c89db2eb8d60b3393c2abc3b026e5574085d
- 변경 ID:
Id6ee68826c4f3cc579880540812fd8ed834f8267
UX 예시
다음은 이 기능의 기본 구현과 관련된 사용자 환경을 보여주는 화면의 예입니다.
그림 1. 분할 화면 모드에서의 런처 크기 변경을 위한 화면의 예
구현
Android 8.0은 이 업데이트를 분할 화면에 적용하기 위한 참조 구현을 제공하지만 런처에서 이를 구현할지는 기기 제조업체가 판단합니다. 이 기능을 지원하는 방법은 다음과 같습니다.
- Android 호환성 정의 문서(CDD) 멀티 윈도우 요구사항을 따르는 멀티 윈도우를 구현하거나 기존 구현을 확보합니다.
- 런처 크기 변경이 가능하도록 설정합니다. Launcher3의 참조 구현은 화면이 작아지면 앱 이름을 제거하지만 런처 압축 방식에 따라 구현이 다를 수 있습니다(특히 맞춤 런처 코드가 존재하는 경우).
- 런처 매니페스트에 최소 지정 높이를 설정합니다. 이렇게 하려면
frameworks/base/core/res/res/values/dimens.xml
에서 task_height_of_minimized_mode
값을 조정합니다.
테스트
수동 테스트를 사용하여 구현이 올바르게 작동하는지 확인합니다.
- 화면 분할 모드로 전환합니다.
- 홈을 누릅니다.
- 변경 가능한 런처를 관찰합니다.
지원하는 모든 기기 방향에서 런처 크기가 올바르게 변경되는지 확인합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(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."]]