소스 검색

依旧主页面底部边距问题

HapeLee 6 달 전
부모
커밋
f0de84d511
1개의 변경된 파일과 24개의 추가작업 그리고 6개의 파일을 삭제
  1. 24 6
      app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt

+ 24 - 6
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
             )