더 넓은 화면 디자인

더 넓은 화면 앱은 시스템 표시줄 아래에 UI를 그려 전체 화면을 활용합니다.

그림 1. 왼쪽 더 넓은 화면을 활용하지 않는 앱 실제로 더 넓은 화면을 사용하는 앱

요약

  • 더 넓은 화면 환경을 위해 시스템 표시줄 아래에 배경과 스크롤 콘텐츠를 그립니다.
  • 시스템 인셋 아래에 탭 동작이나 드래그 타겟을 추가하지 마세요. 이는 더 넓은 화면 및 동작 탐색과 충돌합니다.
그림 2. 제스처 인셋이 녹색으로 강조표시된 앱

시스템 표시줄 뒤에 콘텐츠 그리기

더 넓은 화면 기능을 사용하면 시스템 표시줄 아래에 UI를 그려 몰입감 있는 환경을 제공할 수 있습니다.

앱은 인셋에 반응하여 콘텐츠 중복을 해결할 수 있습니다. 인셋은 시스템 표시줄 또는 디스플레이 컷아웃과 같은 실제 기기 기능과 겹치지 않도록 앱 콘텐츠에 패딩을 적용해야 하는 정도를 설명합니다. Compose 및 뷰에서 더 넓은 화면을 지원하고 인셋을 처리하는 방법을 알아보세요.

더 넓은 화면 사용 사례를 설계할 때는 다음과 같은 유형의 인셋에 유의하세요.

  • 시스템 표시줄 인셋은 탭할 수 있고 시스템 표시줄에 의해 시각적으로 가려져서는 안 되는 UI에 적용됩니다.
  • 시스템 동작 인셋은 OS에서 사용하는 동작 탐색 영역에 적용되며 앱보다 우선순위가 높습니다.
  • 디스플레이 컷아웃 인셋은 카메라 컷아웃과 같이 디스플레이 표면으로 확장되는 기기 영역에 적용됩니다.

상태 표시줄 고려사항

기본 시스템 표시줄 디자인 가이드는 Android 시스템 표시줄을 참고하세요. 다음 섹션에서는 추가 상태 표시줄 고려사항을 설명합니다.

콘텐츠 스크롤

상단 앱 바는 스크롤하는 동안 접혀야 합니다. Material 3 TopAppBar를 접는 방법을 알아보세요. Material 3에서 작은 상단 앱 바는 상태 표시줄 높이로 접히거나 화면 밖으로 스크롤될 수 있습니다. 중형 및 대형 상단 앱 바는 더 작은 앱 바로 접을 수 있습니다. [Material 가이드][10]를 참고하세요.

앱 바가 고정되어 있는 경우 작은 상단 앱 바를 상태 표시줄 높이로 접습니다.
작은 상단 앱 바가 고정되어 있지 않은 경우 일치하는 배경 색상 그라데이션을 추가합니다.

상태 표시줄 아이콘이 복잡해 보이지 않도록 UI가 아래로 스크롤될 때 상태 표시줄은 반투명해야 합니다. 이렇게 하려면 먼저 LazyColumn 또는 RecyclerView 문서의 단계를 구현하여 스크롤 가능한 UI를 더 넓게 만듭니다. 그런 다음, 다음 중 하나를 실행하여 시스템 표시줄이 반투명한지 확인합니다.

  • 해당하는 경우 스크롤 시 Material 3 TopAppBar 자동 보호 기능을 사용합니다.
  • 맞춤 그라데이션 컴포저블을 만들거나 뷰에 GradientProtection을 사용합니다. Compose에서 이 작업을 실행하는 방법에 관한 자세한 내용은 시스템 표시줄 보호를 참고하세요.
그림 3. 제스처 인셋이 녹색으로 강조표시된 앱

적응형 레이아웃의 경우 배경 색상이 다른 창에 별도의 보호 기능이 있는지 확인합니다.

각 창의 배경과 일치하지 않는 그라데이션 보호 기능이 있습니다.
각 창의 배경과 일치하는 그라데이션 보호 기능이 있습니다.

마찬가지로 탐색 창도 앱의 나머지 부분과 별도로 보호되어야 합니다.

그림 4. 탐색 창의 반투명 상태 표시줄 이 이미지는 탐색 창의 상태 표시줄 보호를 보여주지만 앱은 보여주지 않습니다.

Material 3 TopAppBar 기본 제공 보호 기능과 맞춤 보호 기능을 모두 사용하는 등 상태 표시줄 보호 기능을 중첩하지 마세요.

기본 탐색 메뉴 디자인 안내는 Android 시스템 표시줄을 참고하세요. 다음 섹션에는 탐색 메뉴에 관한 추가 고려사항이 포함되어 있습니다.

콘텐츠 스크롤

[BottomAppBar][10] 은 scrollBehavior 매개변수를 사용하여 스크롤하는 동안 접혀야 합니다.

하단 앱 바가 애니메이션으로 사라질 때 3버튼 탐색을 위한 시스템 표시줄 스크림을 추가합니다.
동작 탐색을 투명하게 유지하고 스크림을 추가하지 않습니다.

하지만 [NavigationBar]11에는 scrollBehavior 매개변수가 없으므로 스크롤하는 동안 계속 표시됩니다.

디스플레이 컷아웃

디스플레이 컷아웃은 UI 모양에 영향을 줄 수 있습니다. 앱은 UI의 중요한 부분이 디스플레이 컷아웃 아래에 그려지지 않도록 디스플레이 컷아웃 인셋을 처리해야 합니다.

디스플레이 컷아웃 인셋을 사용하여 중요한 UI를 인셋합니다.
중요한 UI를 화면 가장자리에 배치합니다.

그러나 단색 앱 바 배경은 다음 이미지와 같이 디스플레이 컷아웃에 그려야 합니다.

그림 5. 단색 앱 바 배경은 디스플레이 컷아웃으로 그려지고 중요한 UI는 인셋됩니다.

가로 캐러셀이 디스플레이 컷아웃에 그려지도록 합니다.

그림 6. 캐러셀이 디스플레이 컷아웃을 통해 스크롤되는 더 넓은 가로 디스플레이

Compose에서 디스플레이 컷아웃을 지원하는 방법을 알아보세요.

기타 가이드

일반적으로 배경과 구분선도 더 넓은 화면으로 그려야 하지만 텍스트 및 버튼과 같은 콘텐츠는 시스템 UI 및 하드웨어 요소를 피하기 위해 인셋해야 합니다.