From d9326668a418e1b396f829c0bea717954e37afb2 Mon Sep 17 00:00:00 2001 From: xfy Date: Mon, 18 May 2026 10:42:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E8=A7=86=E5=9B=BE=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E4=BC=98=E5=8C=96:=20=E6=9C=88=E4=BB=BD=E5=A1=AB=E6=BB=A1?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E3=80=81=E5=8A=A0=E5=A4=A7=E5=AD=97=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E6=B7=BB=E5=8A=A0=E9=97=B4=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 4行用 weight(1f) 等分网格区域高度,月份均匀撑高填满视图 - 纵向 Arrangement 从 SpaceEvenly 改为 Top,去掉首行前/末行后大间隙 - 横向 Arrangement 从 SpaceEvenly 改为 SpaceBetween - 第1行上方加 8dp padding,第4行下方加 8dp padding - 月份之间横向加 8dp 间距(col0 end=4dp + col2 start=4dp) - 月份标题字号 9→10sp,星期行 6→8sp,日期数字 6→8sp - 日期行高 9→12sp,日期行之间加 padding(vertical=2.dp) Co-Authored-By: Claude Opus 4.7 --- .../plus/rua/project/ui/YearGridView.kt | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt index 4fae310..677978b 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt @@ -98,22 +98,38 @@ fun YearGridView( .fillMaxWidth() .weight(1f) .padding(horizontal = 4.dp), - verticalArrangement = Arrangement.SpaceEvenly + verticalArrangement = Arrangement.Top ) { (0 until 4).forEach { row -> + val verticalPadding = when (row) { + 0 -> Modifier.padding(top = 8.dp) + 3 -> Modifier.padding(bottom = 8.dp) + else -> Modifier + } Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceEvenly + modifier = Modifier + .fillMaxWidth() + .weight(1f) + .then(verticalPadding), + horizontalArrangement = Arrangement.SpaceBetween ) { (0 until 3).forEach { col -> val month = row * 3 + col + 1 + val horizontalPadding = when (col) { + 0 -> Modifier.padding(end = 4.dp) + 1 -> Modifier.padding(horizontal = 4.dp) + 2 -> Modifier.padding(start = 4.dp) + else -> Modifier + } MiniMonth( year = year, month = month, isSelected = month == selectedMonth, today = today, onClick = { onMonthClick(month) }, - modifier = Modifier.weight(1f) + modifier = Modifier + .weight(1f) + .then(horizontalPadding) ) } } @@ -156,7 +172,7 @@ private fun MiniMonth( Text( text = "${month}月", color = titleColor, - fontSize = 9.sp, + fontSize = 10.sp, fontWeight = if (isSelected) FontWeight.Bold else FontWeight.Normal, textAlign = TextAlign.Center ) @@ -169,7 +185,7 @@ private fun MiniMonth( Text( text = label, color = weekdayColor, - fontSize = 6.sp, + fontSize = 8.sp, textAlign = TextAlign.Center, modifier = Modifier.weight(1f) ) @@ -178,7 +194,9 @@ private fun MiniMonth( // 日期网格 days.chunked(7).forEach { week -> Row( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .padding(vertical = 2.dp), horizontalArrangement = Arrangement.SpaceEvenly ) { week.forEach { dayData -> @@ -208,9 +226,9 @@ private fun MiniMonth( Text( text = if (dayData.isCurrentMonth) dayData.date.day.toString() else "", color = color, - fontSize = 6.sp, + fontSize = 8.sp, textAlign = TextAlign.Center, - lineHeight = 9.sp + lineHeight = 12.sp ) } }