이제 Android 앱이 다양한 기기 (예: 휴대전화, 태블릿, 폴더블, 데스크톱, 자동차, TV)와 대형 화면의 창 모드 (예: 화면 분할, 데스크톱 창)에서 실행되므로 개발자는 기기 방향과 관계없이 모든 화면 및 창 크기에 적응하는 Android 앱을 빌드해야 합니다. 방향과 크기 조절을 제한하는 것과 같은 패러다임은 오늘날의 멀티 기기 환경에서 너무 제한적입니다.
방향, 크기 조절 가능 여부, 가로세로 비율 제한 무시
Android 17 이상을 타겟팅하는 앱의 경우 최소 너비가 600dp보다 큰 디스플레이에는 방향, 크기 조절, 가로세로 비율 제한이 더 이상 적용되지 않습니다. 앱이 가로세로 비율이나 사용자가 선호하는 방향에 관계없이 전체 디스플레이 창을 채우고 필러박싱이 사용되지 않습니다.
Android 17에서는 Android 16에서 제공된 대형 화면 기기의 방향 및 크기 조절 제한에 대한 임시 개발자 선택 해제가 삭제됩니다.
이 변경사항은 새로운 표준 플랫폼 동작을 도입합니다. Android는 앱이 다양한 방향, 디스플레이 크기, 가로세로 비율에 적응해야 하는 모델로 이동하고 있습니다. 고정된 방향이나 제한된 크기 조절 가능 여부와 같은 제한사항은 앱 적응성을 저해합니다. 앱을 적응형으로 만들어 최상의 사용자 환경을 제공하세요.
앱 호환성 프레임워크를 사용하고 UNIVERSAL_RESIZABLE_BY_DEFAULT 호환성 플래그를 사용 설정하여 이 동작을 테스트할 수도 있습니다.
일반적인 주요 변경사항
방향, 크기 조절 가능 여부, 가로세로 비율 제한을 무시하면 일부 기기에서 앱의 UI에 영향을 미칠 수 있습니다. 특히 세로 모드로 잠긴 작은 레이아웃을 위해 설계된 요소에 영향을 미칠 수 있습니다. 예를 들어 앱에 레이아웃이 늘어나고 화면 밖 애니메이션과 구성요소가 있는 등의 문제가 있을 수 있습니다. 가로세로 비율이나 방향에 관해 가정하는 경우 앱에 시각적 문제가 발생할 수 있습니다. 이러한 문제를 방지하고 앱의 적응형 동작을 개선하는 방법을 자세히 알아보세요.
가로 모드 폴더블이나 멀티 윈도우, 데스크톱 창, 연결된 디스플레이와 같은 시나리오에서 가로세로 비율을 계산할 때 발생하는 일반적인 문제는 카메라 미리보기가 늘어나거나 회전하거나 잘리는 경우입니다. 이 문제는 앱이 카메라 기능 (예: 가로세로 비율 및 센서 방향)과 기기 기능 (예: 기기 방향 및 자연스러운 방향) 간의 고정된 관계를 가정하기 때문에 대형 화면 및 폴더블 기기에서 자주 발생합니다. 카메라 미리보기 관리에 대해 자세히 알아보기
기기 회전을 허용하면 활동이 더 많이 다시 생성되므로 제대로 보존되지 않으면 사용자 상태가 손실될 수 있습니다. UI 상태 저장에서 UI 상태를 올바르게 저장하는 방법을 알아보세요.
구현 세부정보
다음 매니페스트 속성과 런타임 API는 전체 화면 및 멀티 윈도우 모드의 대형 화면 기기에서 무시됩니다.
screenOrientationresizableActivityminAspectRatiomaxAspectRatiosetRequestedOrientation()getRequestedOrientation()
screenOrientation, setRequestedOrientation() 및 getRequestedOrientation()의 다음 값은 무시됩니다.
portraitreversePortraitsensorPortraituserPortraitlandscapereverseLandscapesensorLandscapeuserLandscape
디스플레이 크기 조절과 관련하여 android:resizeableActivity="false",
android:minAspectRatio 및 android:maxAspectRatio은 영향을 미치지 않습니다.
예외
다음과 같은 상황에서는 Android 17 방향, 크기 조정, 가로세로 비율 제한이 적용되지 않습니다.
- 게임 (
android:appCategory플래그 기반) - 기기의 가로세로 비율 설정에서 앱의 기본 동작을 명시적으로 선택하는 사용자
- 가장 작은 너비가
sw600dp보다 작은 화면