fix: Fix status bar color on scroll; Closes #13

This commit is contained in:
Myzel394 2023-08-10 22:49:49 +02:00
parent 56deb12373
commit d8e137abf9
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
3 changed files with 18 additions and 17 deletions

View File

@ -4,7 +4,7 @@ import android.content.Context
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowCompat
import androidx.datastore.dataStore
import app.myzel394.alibi.db.AppSettingsSerializer
import app.myzel394.alibi.ui.Navigation
@ -16,9 +16,12 @@ val Context.dataStore by dataStore(
serializer = AppSettingsSerializer()
)
class MainActivity : AppCompatActivity() {
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, false)
setContent {
AlibiTheme {
Navigation()

View File

@ -57,21 +57,13 @@ fun AlibiTheme(
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
window.navigationBarColor = colorScheme.background.toArgb()
window.statusBarColor = colorScheme.background.toArgb()
WindowCompat.getInsetsController(
window,
view
).isAppearanceLightStatusBars = !darkTheme
WindowCompat.getInsetsController(
window,
view
).isAppearanceLightNavigationBars = !darkTheme
}
window.navigationBarColor = colorScheme.background.toArgb()
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
WindowCompat.getInsetsController(
window,
view
).isAppearanceLightNavigationBars = !darkTheme
}
}

View File

@ -1,6 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Theme.Alibi" parent="@style/Theme.AppCompat.DayNight.NoActionBar">
<!-- Required for transparent status bar -->
<!-- Taken from: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/integration-tests/material-catalog/src/main/res/values/themes.xml -->
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">true</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowContentOverlay">@color/windowBackground</item>
<item name="android:windowBackground">@color/windowBackground</item>