From f0de84d511a07d3925e44c1ccaf5cc141e2ff4e2 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Thu, 14 May 2026 19:39:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9D=E6=97=A7=E4=B8=BB=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=BA=95=E9=83=A8=E8=BE=B9=E8=B7=9D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/main/bookshelf/BookshelfScreen.kt | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt index 160b773ce..4ae70311a 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt @@ -25,8 +25,11 @@ 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.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width @@ -212,11 +215,17 @@ fun BookshelfScreen( val scrollBehavior = GlassTopAppBarDefaults.defaultScrollBehavior() AppScaffold( modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), + contentWindowInsets = WindowInsets(0), snackbarHost = { SnackbarHost( hostState = snackbarHostState, modifier = Modifier - .padding(bottom = 72.dp) + .padding( + + bottom = 72.dp + WindowInsets.navigationBars + .asPaddingValues() + .calculateBottomPadding() + ) ) }, topBar = { @@ -238,7 +247,7 @@ fun BookshelfScreen( .fillMaxSize() .padding( top = paddingValues.calculateTopPadding(), - bottom = paddingValues.calculateBottomPadding() + bottom = 120.dp ), messageResId = R.string.bookshelf_empty ) @@ -384,11 +393,16 @@ fun BookshelfScreen( AppScaffold( modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), + contentWindowInsets = WindowInsets(0), snackbarHost = { SnackbarHost( hostState = snackbarHostState, modifier = Modifier - .padding(bottom = 72.dp) + .padding( + bottom = 72.dp + WindowInsets.navigationBars + .asPaddingValues() + .calculateBottomPadding() + ) ) }, topBar = { @@ -989,7 +1003,11 @@ fun BookshelfScreen( visible = isEditMode && selectedBookUrls.isNotEmpty(), modifier = Modifier .align(Alignment.BottomCenter) - .padding(bottom = 16.dp + ScreenOffset) + .padding( + bottom = 16.dp + ScreenOffset + WindowInsets.navigationBars + .asPaddingValues() + .calculateBottomPadding() + ) .zIndex(1f), enter = slideInVertically { it } + fadeIn(), exit = slideOutVertically { it } + fadeOut() @@ -1195,7 +1213,7 @@ fun BookshelfPage( .fillMaxSize() .padding( top = paddingValues.calculateTopPadding(), - bottom = paddingValues.calculateBottomPadding() + bottom = 120.dp ), message = stringResource(R.string.bookshelf_empty_global_search), buttonText = stringResource(R.string.global_search), @@ -1207,7 +1225,7 @@ fun BookshelfPage( .fillMaxSize() .padding( top = paddingValues.calculateTopPadding(), - bottom = paddingValues.calculateBottomPadding() + bottom = 120.dp ), messageResId = R.string.bookshelf_empty )