앱에 Compose 코드와 뷰 코드가 모두 포함된 경우 각 시스템 인셋이 사용해야 하는 시스템 인셋을 명시적으로 지정하고 인셋이 동위 뷰에 전달되도록 해야 할 수 있습니다.
기본 인셋 재정의
화면의 동일한 계층 구조에 뷰와 Compose 코드가 모두 있는 경우 기본 인셋을 재정의해야 할 수 있습니다. 이 경우 어떤 것이 인셋을 사용해야 하고 어떤 것이 인셋을 무시해야 하는지 명시해야 합니다.
예를 들어 가장 바깥쪽 레이아웃이 Android 뷰 레이아웃인 경우 뷰 시스템에서 인셋을 사용하고 Compose에서는 무시해야 합니다.
또는 가장 바깥쪽 레이아웃이 컴포저블인 경우 Compose에서 인셋을 사용하고 이에 따라 AndroidView 컴포저블을 패딩해야 합니다.
기본적으로 각 ComposeView는 WindowInsetsCompat 소비 수준에서 모든 인셋을 소비합니다. 이 기본 동작을 변경하려면 AbstractComposeView.consumeWindowInsets를 false로 설정합니다.
뷰의 하위 호환 인셋 전달
앱에 뷰 코드가 포함된 경우 Android 10 (API 수준 29) 이하를 실행하는 기기에서 인셋이 동위 뷰에 전달되는지 확인해야 할 수 있습니다. 자세한 내용은 더 넓은 화면 뷰 가이드를 참고하세요.
시스템 표시줄 아이콘
enableEdgeToEdge를 호출하면 기기 테마가 변경될 때 시스템 표시줄 아이콘 색상이 업데이트됩니다.
더 넓은 화면을 사용하는 동안 시스템 표시줄 아이콘 색상을 수동으로 업데이트하여 앱 배경과 대비되도록 해야 할 수 있습니다. 예를 들어 밝은 상태 표시줄 아이콘을 만들려면 다음을 실행합니다.
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
자바
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);