mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
fix: Fix status bar color on scroll; Closes #13
This commit is contained in:
parent
56deb12373
commit
d8e137abf9
@ -4,7 +4,7 @@ import android.content.Context
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.datastore.dataStore
|
import androidx.datastore.dataStore
|
||||||
import app.myzel394.alibi.db.AppSettingsSerializer
|
import app.myzel394.alibi.db.AppSettingsSerializer
|
||||||
import app.myzel394.alibi.ui.Navigation
|
import app.myzel394.alibi.ui.Navigation
|
||||||
@ -16,9 +16,12 @@ val Context.dataStore by dataStore(
|
|||||||
serializer = AppSettingsSerializer()
|
serializer = AppSettingsSerializer()
|
||||||
)
|
)
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : ComponentActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
|
|
||||||
setContent {
|
setContent {
|
||||||
AlibiTheme {
|
AlibiTheme {
|
||||||
Navigation()
|
Navigation()
|
||||||
|
@ -57,21 +57,13 @@ fun AlibiTheme(
|
|||||||
if (!view.isInEditMode) {
|
if (!view.isInEditMode) {
|
||||||
SideEffect {
|
SideEffect {
|
||||||
val window = (view.context as Activity).window
|
val window = (view.context as Activity).window
|
||||||
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
|
|
||||||
|
|
||||||
|
window.navigationBarColor = colorScheme.background.toArgb()
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
|
||||||
window.navigationBarColor = colorScheme.background.toArgb()
|
WindowCompat.getInsetsController(
|
||||||
window.statusBarColor = colorScheme.background.toArgb()
|
window,
|
||||||
WindowCompat.getInsetsController(
|
view
|
||||||
window,
|
).isAppearanceLightNavigationBars = !darkTheme
|
||||||
view
|
|
||||||
).isAppearanceLightStatusBars = !darkTheme
|
|
||||||
WindowCompat.getInsetsController(
|
|
||||||
window,
|
|
||||||
view
|
|
||||||
).isAppearanceLightNavigationBars = !darkTheme
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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">
|
<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:windowActionModeOverlay">true</item>
|
||||||
<item name="android:windowContentOverlay">@color/windowBackground</item>
|
<item name="android:windowContentOverlay">@color/windowBackground</item>
|
||||||
<item name="android:windowBackground">@color/windowBackground</item>
|
<item name="android:windowBackground">@color/windowBackground</item>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user