Преглед на файлове

Added transparent system bars

Vadik Sirekanyan преди 2 години
родител
ревизия
38792114d6

+ 2 - 0
app/src/main/java/org/sirekanyan/outline/MainActivity.kt

@@ -10,6 +10,7 @@ import androidx.compose.runtime.getValue
 import androidx.compose.runtime.produceState
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
+import androidx.core.view.WindowCompat
 import org.sirekanyan.outline.api.OutlineApi
 import org.sirekanyan.outline.api.model.AccessKey
 import org.sirekanyan.outline.ui.theme.OutlineTheme
@@ -17,6 +18,7 @@ import org.sirekanyan.outline.ui.theme.OutlineTheme
 class MainActivity : ComponentActivity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        WindowCompat.setDecorFitsSystemWindows(window, false)
         setContent {
             val api = remember { OutlineApi() }
             val state = remember { MainState() }

+ 4 - 1
app/src/main/java/org/sirekanyan/outline/MainContent.kt

@@ -1,5 +1,8 @@
 package org.sirekanyan.outline
 
+import androidx.compose.foundation.layout.WindowInsets
+import androidx.compose.foundation.layout.asPaddingValues
+import androidx.compose.foundation.layout.systemBars
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.material3.ModalNavigationDrawer
 import androidx.compose.runtime.Composable
@@ -10,7 +13,7 @@ import org.sirekanyan.outline.ui.KeyContent
 @Composable
 fun MainContent(state: MainState, keys: List<AccessKey>) {
     ModalNavigationDrawer(drawerContent = { DrawerContent(state) }, drawerState = state.drawer) {
-        LazyColumn {
+        LazyColumn(contentPadding = WindowInsets.systemBars.asPaddingValues()) {
             keys.forEach { key ->
                 item {
                     KeyContent(key)

+ 7 - 2
app/src/main/res/values-notnight/themes.xml

@@ -1,6 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
 
-    <style name="Theme.Outline" parent="android:Theme.Material.Light.NoActionBar" />
+    <style name="Theme.Outline" parent="android:Theme.Material.Light.NoActionBar">
+        <item name="android:statusBarColor">#00000000</item>
+        <item name="android:navigationBarColor">#E6FFFFFF</item>
+        <item name="android:windowLightStatusBar" tools:ignore="NewApi">true</item>
+        <item name="android:windowLightNavigationBar" tools:ignore="NewApi">true</item>
+    </style>
 
 </resources>

+ 7 - 2
app/src/main/res/values/themes.xml

@@ -1,6 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
 
-    <style name="Theme.Outline" parent="android:Theme.Material.NoActionBar" />
+    <style name="Theme.Outline" parent="android:Theme.Material.NoActionBar">
+        <item name="android:statusBarColor">#00000000</item>
+        <item name="android:navigationBarColor">#66000000</item>
+        <item name="android:windowLightStatusBar" tools:ignore="NewApi">false</item>
+        <item name="android:windowLightNavigationBar" tools:ignore="NewApi">false</item>
+    </style>
 
 </resources>