창 인셋 내에 앱 배치

Compose 방식 사용해 보기
Jetpack Compose는 Android에 권장되는 UI 도구 키트입니다. Compose에서 WindowInsets를 사용하는 방법을 알아봅니다.

그림 1. 상태 표시줄 및 탐색 메뉴를 통칭하여 시스템 표시줄이라고 합니다.

콘텐츠가 화면의 상단 가장자리에서 하단 가장자리까지 늘어나도록 모든 앱을 배치합니다. 이는 Android 15(API 수준 35)부터 기본 동작입니다. 즉, 앱의 상단 및 하단 영역이 상태 표시줄과 탐색 메뉴 뒤에 배치됩니다. 상태 표시줄과 탐색 메뉴를 함께 시스템 표시줄이라고 합니다. 시스템 표시줄은 일반적으로 알림 표시, 기기 상태 전달, 기기 탐색을 위한 영역입니다.

앱과 시스템 UI가 표시되는 영역 사이의 중첩은 창 인셋의 한 가지 예로, 앱이 시스템 UI와 교차할 수 있는 화면 부분을 나타냅니다. UI의 이러한 부분과 교차한다는 것은 콘텐츠 위에 표시하는 것을 의미할 수 있지만 시스템 동작에 관해 앱에 알릴 수도 있습니다.

다음과 같은 유형의 창 인셋을 사용할 수 있습니다.

  • 기본적으로 앱 창을 확장하여 전체 화면으로 확장하고 시스템 표시줄 뒤에 앱 콘텐츠를 더 넓은 화면으로 그리도록 선택합니다. 시스템 표시줄 뒤에 중요한 콘텐츠와 터치 영역이 표시되지 않도록 오프셋을 사용하세요.

  • 영화나 이미지와 같은 콘텐츠를 표시하는 앱에서는 좀 더 몰입도 높은 환경을 위해 일시적으로 시스템 표시줄을 숨길 수 있습니다. 시스템 표시줄을 통해 사용자가 기기를 탐색하고 상태를 볼 수 있는 일반적인 방법을 제공하므로 시스템 표시줄을 수정하기 전에 사용자의 요구사항과 기대치를 신중하게 고려하세요.

  • 디스플레이 컷아웃은 일부 기기에서 기기 전면의 센서를 위한 공간을 제공하기 위해 디스플레이 표면으로 확장되는 영역입니다. 앱은 중요한 콘텐츠가 컷아웃 영역과 겹치지 않도록 위치를 쿼리하여 디스플레이 컷아웃을 지원할 수 있습니다.

  • 키보드 전환은 창 인셋이 동적으로 업데이트되는 일반적인 예입니다. 앱은 현재 키보드 상태를 관찰하고 프로그래매틱 방식으로 상태를 전환하며 창 인셋의 애니메이션을 지원하고 키보드 전환 간에 앱 콘텐츠가 원활하게 애니메이션되도록 할 수 있습니다.