From a2666ea362686c6869204bcc0a7112a8e2bc24c5 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sun, 9 Oct 2022 23:17:29 +0200 Subject: [PATCH] Fix: Scaffold's bottom padding consideration in Sheets --- .../machiav3lli/fdroid/ui/fragments/AppSheetX.kt | 16 ++++++++++++++-- .../fdroid/ui/fragments/SortFilterSheet.kt | 9 ++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt index 4994fab7..61a0f303 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/AppSheetX.kt @@ -17,7 +17,11 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.calculateEndPadding +import androidx.compose.foundation.layout.calculateStartPadding import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items @@ -42,6 +46,7 @@ import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import androidx.core.net.toUri import androidx.fragment.app.viewModels @@ -456,10 +461,14 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { ) { paddingValues -> LazyColumn( modifier = Modifier - .padding(paddingValues) + .padding( + top = paddingValues.calculateTopPadding(), + start = paddingValues.calculateStartPadding(LayoutDirection.Ltr), + end = paddingValues.calculateEndPadding(LayoutDirection.Ltr), + ) .nestedScroll(nestedScrollConnection), verticalArrangement = Arrangement.spacedBy(8.dp), - contentPadding = PaddingValues(8.dp) + contentPadding = PaddingValues(horizontal = 8.dp) ) { item { AppInfoHeader( @@ -646,6 +655,9 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks { } ) } + item { + Spacer(modifier = Modifier.height(8.dp)) + } } } } diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/SortFilterSheet.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/SortFilterSheet.kt index 6da3021b..ca7c5927 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/SortFilterSheet.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/fragments/SortFilterSheet.kt @@ -9,6 +9,8 @@ import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.calculateEndPadding +import androidx.compose.foundation.layout.calculateStartPadding import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding @@ -33,6 +35,7 @@ import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import com.google.accompanist.flowlayout.FlowRow import com.google.accompanist.flowlayout.MainAxisAlignment @@ -172,7 +175,11 @@ class SortFilterSheet() : FullscreenBottomSheetDialogFragment() { ) { paddingValues -> LazyColumn( modifier = Modifier - .padding(paddingValues) + .padding( + bottom = paddingValues.calculateBottomPadding(), + start = paddingValues.calculateStartPadding(LayoutDirection.Ltr), + end = paddingValues.calculateEndPadding(LayoutDirection.Ltr), + ) .nestedScroll(nestedScrollConnection) .fillMaxSize(), verticalArrangement = Arrangement.spacedBy(8.dp),