Снимок экрана Samsung с Android 14 (черная строка состояния)
Скриншот виртуального Android 14 (прозрачная строка состояния)
В других приложениях на его телефоне строка состояния прозрачна.
У кого-нибудь была такая же проблема или есть ли у кого-нибудь опыт оказания помощи? Нужны ли устройствам Samsung особый подход к строке состояния?
Это соответствующие фрагменты кода из моего приложения:
SystemAppearance:
Код: Выделить всё
@Composable
actual fun SystemAppearance(isDark: Boolean) {
val view = LocalView.current
val colorScheme = MaterialTheme.colorScheme
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
WindowCompat.setDecorFitsSystemWindows(window, false)
val controller = WindowCompat.getInsetsController(window, window.decorView)
if (Build.VERSION.SDK_INT >= 28) { // >= Android 9
window.attributes.layoutInDisplayCutoutMode = android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
@Suppress("DEPRECATION")
if (Build.VERSION.SDK_INT >= 29) { // >= Android 10
window.statusBarColor = Color.Transparent.toArgb()
window.navigationBarColor = Color.Transparent.toArgb()
}
else if (Build.VERSION.SDK_INT = Android 10
window.isStatusBarContrastEnforced = false
window.isNavigationBarContrastEnforced = false
}
}
}
}
Код: Выделить всё
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.dark(
android.graphics.Color.TRANSPARENT
),
navigationBarStyle = SystemBarStyle.light(
android.graphics.Color.TRANSPARENT,
android.graphics.Color.TRANSPARENT
)
)
Код: Выделить всё
@Composable
fun SongBookTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
fontSize: Float = 16f,
content: @Composable () -> Unit
) {
val colorScheme = if (darkTheme) DarkColorScheme else LightColorScheme
MaterialTheme(
colorScheme = colorScheme,
typography = getTypography(fontSize.sp)
) {
SystemAppearance(darkTheme)
content()
}
}