Skip to content

Commit 31d5d09

Browse files
committed
More UI tweaks
1 parent 9f26ba6 commit 31d5d09

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

app/src/main/java/dev/zwander/installwithoptions/MainActivity.kt

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.zwander.installwithoptions
22

33
import android.content.Intent
4+
import android.os.Build
45
import android.os.Bundle
56
import androidx.activity.SystemBarStyle
67
import androidx.activity.compose.rememberLauncherForActivityResult
@@ -18,19 +19,22 @@ import androidx.compose.foundation.interaction.MutableInteractionSource
1819
import androidx.compose.foundation.layout.Arrangement
1920
import androidx.compose.foundation.layout.Box
2021
import androidx.compose.foundation.layout.Column
22+
import androidx.compose.foundation.layout.PaddingValues
2123
import androidx.compose.foundation.layout.Row
2224
import androidx.compose.foundation.layout.Spacer
2325
import androidx.compose.foundation.layout.WindowInsets
2426
import androidx.compose.foundation.layout.WindowInsetsSides
2527
import androidx.compose.foundation.layout.asPaddingValues
28+
import androidx.compose.foundation.layout.calculateEndPadding
29+
import androidx.compose.foundation.layout.calculateStartPadding
2630
import androidx.compose.foundation.layout.displayCutout
2731
import androidx.compose.foundation.layout.fillMaxSize
2832
import androidx.compose.foundation.layout.fillMaxWidth
2933
import androidx.compose.foundation.layout.imePadding
34+
import androidx.compose.foundation.layout.navigationBarsPadding
3035
import androidx.compose.foundation.layout.only
3136
import androidx.compose.foundation.layout.padding
3237
import androidx.compose.foundation.layout.size
33-
import androidx.compose.foundation.layout.systemBars
3438
import androidx.compose.foundation.lazy.LazyColumn
3539
import androidx.compose.foundation.lazy.items
3640
import androidx.compose.foundation.shape.CircleShape
@@ -59,6 +63,7 @@ import androidx.compose.ui.draw.clip
5963
import androidx.compose.ui.graphics.Color
6064
import androidx.compose.ui.graphics.toArgb
6165
import androidx.compose.ui.platform.LocalContext
66+
import androidx.compose.ui.platform.LocalLayoutDirection
6267
import androidx.compose.ui.res.stringResource
6368
import androidx.compose.ui.unit.dp
6469
import androidx.documentfile.provider.DocumentFile
@@ -84,8 +89,11 @@ class MainActivity : AppCompatActivity() {
8489

8590
override fun onCreate(savedInstanceState: Bundle?) {
8691
enableEdgeToEdge(
87-
navigationBarStyle = SystemBarStyle.dark(Color.Transparent.toArgb()),
92+
navigationBarStyle = SystemBarStyle.auto(Color.Transparent.toArgb(), Color.Transparent.toArgb()),
8893
)
94+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
95+
window.isNavigationBarContrastEnforced = false
96+
}
8997
super.onCreate(savedInstanceState)
9098

9199
permissionHandler.onCreate()
@@ -153,8 +161,7 @@ fun MainContent(modifier: Modifier = Modifier) {
153161
) {
154162
Scaffold(
155163
modifier = Modifier
156-
.fillMaxSize()
157-
.imePadding(),
164+
.fillMaxSize(),
158165
bottomBar = {
159166
Surface(
160167
modifier = Modifier.fillMaxWidth(),
@@ -164,11 +171,8 @@ fun MainContent(modifier: Modifier = Modifier) {
164171
Column(
165172
modifier = Modifier
166173
.fillMaxWidth()
167-
.padding(
168-
WindowInsets.systemBars
169-
.only(WindowInsetsSides.Horizontal + WindowInsetsSides.Bottom)
170-
.asPaddingValues()
171-
),
174+
.navigationBarsPadding()
175+
.imePadding(),
172176
) {
173177
Row(
174178
modifier = Modifier
@@ -225,11 +229,19 @@ fun MainContent(modifier: Modifier = Modifier) {
225229
}
226230
},
227231
content = { contentPadding ->
232+
val nonBottom = PaddingValues(
233+
top = contentPadding.calculateTopPadding(),
234+
start = contentPadding.calculateStartPadding(LocalLayoutDirection.current),
235+
end = contentPadding.calculateEndPadding(LocalLayoutDirection.current),
236+
)
237+
val bottom = PaddingValues(bottom = contentPadding.calculateBottomPadding())
238+
228239
LazyColumn(
229240
modifier = Modifier
230-
.fillMaxSize(),
241+
.fillMaxSize()
242+
.padding(bottom),
231243
verticalArrangement = Arrangement.spacedBy(8.dp),
232-
contentPadding = contentPadding +
244+
contentPadding = nonBottom +
233245
WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal)
234246
.asPaddingValues(),
235247
) {

0 commit comments

Comments
 (0)