Код: Выделить всё
@Composable
fun AppTheme(
themeOption: ThemeOption = ThemeOption.SYSTEM,
// Dynamic color is available on Android 12+
dynamicColor: Boolean = true,
content: @Composable () -> Unit,
) {
val isDarkTheme = isAppInDarkTheme(themeOption)
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (isDarkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
isDarkTheme -> darkScheme
else -> lightScheme
}
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
(view.context as? Activity)?.window?.apply {
statusBarColor = colorScheme.background.toArgb()
navigationBarColor = colorScheme.surfaceContainer.toArgb()
}?.also {
WindowCompat.getInsetsController(it, view).apply {
isAppearanceLightStatusBars = !isDarkTheme
isAppearanceLightNavigationBars = !isDarkTheme
}
}
}
}
MaterialTheme(
colorScheme = colorScheme,
content = content
)
}
< /code>
Фаг кода, который имеет снижение: < /p>
WindowCompat.getInsetsController(it, view).apply {
isAppearanceLightStatusBars = !isDarkTheme
isAppearanceLightNavigationBars = !isDarkTheme
}
< /code>
Сообщения об испаке: < /p>
Deprecated
Draw proper background behind WindowInsets.Type.navigationBars() or WindowInsets. Type. tappableElement() instead.
Deprecated
Draw proper background behind WindowInsets.Type.statusBars()} instead.
Подробнее здесь: https://stackoverflow.com/questions/792 ... r-in-andro