Если ваше приложение использует SDK 35 или более поздней версии, показ от края до края будет включен по умолчанию. Строка состояния и панель навигации жестами прозрачные, а панель навигации с тремя кнопками – полупрозрачная. Чтобы обеспечить обратную совместимость, вызовите enableEdgeToEdge.
Однако системные настройки по умолчанию могут подходить не для всех случаев. Ознакомьтесь с рекомендациями по дизайну системных строк Android и рекомендациями по дизайну приложений с поддержкой полноэкранного режима, чтобы узнать, когда следует использовать прозрачные или полупрозрачные системные строки.
Создайте прозрачные системные строки
Создайте прозрачную панель навигации жестами, выбрав в качестве целевой версии Android 15 или более позднюю или вызвав метод enableEdgeToEdge() с аргументами по умолчанию для более ранних версий. Для панели навигации с тремя кнопками задайте для Window.setNavigationBarContrastEnforced значение false, иначе будет применена полупрозрачная сетка.
Как создать полупрозрачные системные строки
Чтобы создать полупрозрачную строку состояния, создайте пользовательскую composable-функцию, которая перекрывает основной контент и рисует градиент в области, покрытой отступами.
class SystemBarProtectionSnippets : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // enableEdgeToEdge sets window.isNavigationBarContrastEnforced = true // which is used to add a translucent scrim to three-button navigation enableEdgeToEdge() setContent { MyTheme { // Main content MyContent() // After drawing main content, draw status bar protection StatusBarProtection() } } } } @Composable private fun StatusBarProtection( color: Color = MaterialTheme.colorScheme.surfaceContainer, ) { Spacer( modifier = Modifier .fillMaxWidth() .height( with(LocalDensity.current) { (WindowInsets.statusBars.getTop(this) * 1.2f).toDp() } ) .background( brush = Brush.verticalGradient( colors = listOf( color.copy(alpha = 1f), color.copy(alpha = 0.8f), Color.Transparent ) ) ) ) }
Для адаптивных приложений вставьте настраиваемую composable-функцию, которая соответствует цветам каждой панели, как показано в разделе Дизайн во весь экран. Чтобы создать полупрозрачную панель навигации, задайте для Window.setNavigationBarContrastEnforced значение true.