From e5c0e5f570612ed5e44e1e166b950dda0cd54a0d Mon Sep 17 00:00:00 2001 From: AnranYus Date: Fri, 30 May 2025 14:32:36 +0800 Subject: [PATCH] fix: system bar --- .../app/ui/components/SystemBarsDemo.kt | 74 ------------------- .../app/ui/components/SystemBarsPadding.kt | 4 +- .../com/whitefish/app/ui/home/HomeScreen.kt | 6 +- 3 files changed, 5 insertions(+), 79 deletions(-) delete mode 100644 composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsDemo.kt diff --git a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsDemo.kt b/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsDemo.kt deleted file mode 100644 index b8cd0cb..0000000 --- a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsDemo.kt +++ /dev/null @@ -1,74 +0,0 @@ -package com.whitefish.app.ui.components - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.* -import androidx.compose.material3.* -import androidx.compose.runtime.* -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import com.whitefish.app.getStatusBarHeight -import com.whitefish.app.getNavigationBarHeight - -/** - * 系统栏演示组件 - * 用于展示状态栏和导航栏高度的获取效果 - */ -@Composable -fun SystemBarsDemo(modifier: Modifier = Modifier) { - val statusBarHeight = getStatusBarHeight() - val navigationBarHeight = getNavigationBarHeight() - - Column( - modifier = modifier - .fillMaxSize() - .background(Color(0xFF1A1A1A)) - .systemBarsPadding(), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - Card( - modifier = Modifier.padding(16.dp), - colors = CardDefaults.cardColors(containerColor = Color(0xFF2A2A2A)) - ) { - Column( - modifier = Modifier.padding(24.dp), - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "系统栏高度信息", - fontSize = 20.sp, - fontWeight = FontWeight.Bold, - color = Color.White - ) - - Spacer(modifier = Modifier.height(16.dp)) - - Text( - text = "状态栏高度: ${statusBarHeight}", - fontSize = 16.sp, - color = Color(0xFFE0E0E0) - ) - - Spacer(modifier = Modifier.height(8.dp)) - - Text( - text = "导航栏高度: ${navigationBarHeight}", - fontSize = 16.sp, - color = Color(0xFFE0E0E0) - ) - - Spacer(modifier = Modifier.height(16.dp)) - - Text( - text = "此内容区域已添加系统栏内边距", - fontSize = 14.sp, - color = Color(0xFFB0B0B0) - ) - } - } - } -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsPadding.kt b/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsPadding.kt index fba6f5d..1ef3abf 100644 --- a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsPadding.kt +++ b/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/components/SystemBarsPadding.kt @@ -14,11 +14,9 @@ import com.whitefish.app.getNavigationBarHeight @Composable fun Modifier.systemBarsPadding(): Modifier { val statusBarHeight: Dp = getStatusBarHeight() - val navigationBarHeight: Dp = getNavigationBarHeight() - + return this.padding( top = statusBarHeight, - bottom = navigationBarHeight ) } diff --git a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/home/HomeScreen.kt b/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/home/HomeScreen.kt index 903edc3..a64167a 100644 --- a/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/home/HomeScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/whitefish/app/ui/home/HomeScreen.kt @@ -17,6 +17,8 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel +import com.whitefish.app.getNavigationBarHeight +import com.whitefish.app.getStatusBarHeight import org.jetbrains.compose.resources.painterResource import org.jetbrains.compose.ui.tooling.preview.Preview import ringappkmp.composeapp.generated.resources.Res @@ -54,7 +56,7 @@ fun HomeScreen( Column( modifier = Modifier .fillMaxSize() - .systemBarsPadding() // 添加状态栏和导航栏的内边距 + .padding(top = getStatusBarHeight()) // 添加状态栏和导航栏的内边距 ) { // 主内容区域 Box( @@ -93,7 +95,7 @@ private fun BottomNavigationBar( modifier = Modifier .fillMaxWidth() .background(Color(0xFFE8E0E6)) - .padding(top = 24.dp), + .padding(top = 24.dp, bottom = getNavigationBarHeight()), horizontalArrangement = Arrangement.SpaceEvenly ) { HomeTab.entries.forEach { tab ->