Tried to avoid color changes in top system bar and bottom navigation bar

This commit is contained in:
Juha Heinanen
2026-07-09 08:39:39 +03:00
parent f3bc3e12b2
commit da22fbc5f5
2 changed files with 13 additions and 13 deletions

View File

@ -24,7 +24,6 @@ import android.view.KeyEvent
import android.view.WindowManager
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
@ -60,7 +59,6 @@ class MainActivity : ComponentActivity() {
@SuppressLint("ClickableViewAccessibility")
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
val extraAction = intent.getStringExtra("action")

View File

@ -11,7 +11,7 @@ import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
@ -100,22 +100,24 @@ fun AppTheme(
val view = LocalView.current
if (!view.isInEditMode)
SideEffect {
val activity = view.context as? ComponentActivity
DisposableEffect(isDark) {
val activity = context as? ComponentActivity
if (activity != null) {
val barStyle = if (isDark)
SystemBarStyle.dark(android.graphics.Color.TRANSPARENT)
else
SystemBarStyle.light(
android.graphics.Color.TRANSPARENT,
android.graphics.Color.TRANSPARENT,
)
activity.enableEdgeToEdge(
statusBarStyle = SystemBarStyle.auto(
android.graphics.Color.TRANSPARENT,
android.graphics.Color.TRANSPARENT,
) { isDark },
navigationBarStyle = SystemBarStyle.auto(
android.graphics.Color.TRANSPARENT,
android.graphics.Color.TRANSPARENT,
) { isDark }
statusBarStyle = barStyle,
navigationBarStyle = barStyle
)
if (VERSION.SDK_INT >= 29)
activity.window.isNavigationBarContrastEnforced = false
}
onDispose {}
}
MaterialTheme(colorScheme = colorScheme, content = content)