diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/main/SearchFilter.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/main/SearchFilter.kt index 1b8d03c27..a5dd21d64 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/main/SearchFilter.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/main/SearchFilter.kt @@ -3,8 +3,8 @@ package com.hippo.ehviewer.ui.main import androidx.compose.foundation.horizontalScroll 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.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyRow @@ -74,12 +74,16 @@ fun SearchFilter( fun isCategoryChecked(bit: Int) = category and bit != 0 val categories = remember(category) { categoryTable.sortedBy { !isCategoryChecked(it.first) } } LazyRow( - contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp), + // Workaround for https://issuetracker.google.com/332939169 + // contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp), + modifier = Modifier.padding(top = 8.dp), horizontalArrangement = Arrangement.spacedBy(8.dp), ) { // Workaround for the first item's animation // https://github.com/Calvin-LL/Reorderable/issues/4#issuecomment-1853131769 - item {} + item { + Spacer(modifier = Modifier.width(8.dp)) + } items(categories, { it.first }) { FilterChip( selected = isCategoryChecked(it.first), @@ -88,6 +92,9 @@ fun SearchFilter( modifier = Modifier.thenIf(animateItems) { animateItem() }, ) } + item { + Spacer(modifier = Modifier.width(8.dp)) + } } var languageFilter by Settings.languageFilter.asMutableState() val languages = remember { diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt index ab1ffd2c5..6a1cc68f9 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/SearchBarScreen.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsetsSides -import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.displayCutoutPadding import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height @@ -307,9 +306,11 @@ fun SearchBarScreen( activeState.Anchor() filter?.invoke() LazyColumn( - modifier = Modifier.fillMaxSize(), - contentPadding = WindowInsets.navigationBars.union(WindowInsets.ime) - .only(WindowInsetsSides.Bottom).asPaddingValues(), + modifier = Modifier.fillMaxSize() + .windowInsetsPadding(WindowInsets.navigationBars.union(WindowInsets.ime).only(WindowInsetsSides.Bottom)), + // Workaround for https://issuetracker.google.com/332939169 + // contentPadding = WindowInsets.navigationBars.union(WindowInsets.ime) + // .only(WindowInsetsSides.Bottom).asPaddingValues(), ) { // Workaround for prepending before the first item item {} diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/FilterScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/FilterScreen.kt index 9a9d9dada..586108e84 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/FilterScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/FilterScreen.kt @@ -215,8 +215,9 @@ fun FilterScreen(navigator: DestinationsNavigator) { ) { paddingValues -> Deferred({ allFilterMap.await() }) { filters -> LazyColumn( - modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), - contentPadding = paddingValues, + modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection).padding(paddingValues), + // Workaround for https://issuetracker.google.com/332939169 + // contentPadding = paddingValues, ) { var showTip = true filters.forEach { (filterMode, filters) -> @@ -229,7 +230,7 @@ fun FilterScreen(navigator: DestinationsNavigator) { FilterMode.COMMENT -> R.string.filter_comment } if (filters.isNotEmpty()) { - stickyHeader(key = filterMode) { + item(key = filterMode) { Text( text = stringResource(id = title), modifier = Modifier.padding(horizontal = 24.dp, vertical = 8.dp).thenIf(animateItems) { animateItem() },