From 557390068efcd497c3bb21d08d2a7f7edcaa3f57 Mon Sep 17 00:00:00 2001 From: xfy Date: Wed, 20 May 2026 00:41:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9B=BE=E6=A0=87=E9=A2=9C=E8=89=B2?= =?UTF-8?q?=E9=80=82=E9=85=8D=20MaterialTheme=20=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 AboutScreen、LicensesScreen 返回箭头和 CalendarMonthView 菜单图标的 硬编码 Color.White 替换为 MaterialTheme.colorScheme 对应主题色, 使图标在深色/浅色主题下均能正确显示。 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../commonMain/kotlin/plus/rua/project/ui/AboutScreen.kt | 9 +++++---- .../kotlin/plus/rua/project/ui/CalendarMonthView.kt | 7 ++++--- .../kotlin/plus/rua/project/ui/LicensesScreen.kt | 9 +++++---- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/AboutScreen.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/AboutScreen.kt index 4d25a0b..dcf18aa 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/AboutScreen.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/AboutScreen.kt @@ -48,19 +48,20 @@ fun AboutScreen( title = { Text("关于鸭鸭日历") }, navigationIcon = { IconButton(onClick = onBack) { + val arrowColor = MaterialTheme.colorScheme.onSurface Canvas(modifier = Modifier.size(24.dp)) { val strokeWidth = 2.dp.toPx() drawLine( - color = Color.White, - start = Offset(size.width * 0.75f, size.height * 0.25f), + color = arrowColor, + start = Offset(size.width * 0.75f, size.height * 0.15f), end = Offset(size.width * 0.25f, size.height * 0.5f), strokeWidth = strokeWidth, cap = StrokeCap.Round ) drawLine( - color = Color.White, + color = arrowColor, start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.75f), + end = Offset(size.width * 0.75f, size.height * 0.85f), strokeWidth = strokeWidth, cap = StrokeCap.Round ) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/CalendarMonthView.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/CalendarMonthView.kt index b2395ca..96d911b 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/CalendarMonthView.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/CalendarMonthView.kt @@ -281,7 +281,8 @@ fun CalendarMonthView( containerColor = MaterialTheme.colorScheme.primaryContainer, contentColor = MaterialTheme.colorScheme.onPrimaryContainer ) { - MenuIcon() + val iconColor = MaterialTheme.colorScheme.onPrimaryContainer + MenuIcon(color = iconColor) } // Scrim:全透明,仅拦截点击关闭菜单,无动画 @@ -358,7 +359,7 @@ fun CalendarMonthView( } @Composable -private fun MenuIcon(modifier: Modifier = Modifier) { +private fun MenuIcon(color: Color, modifier: Modifier = Modifier) { Canvas(modifier = modifier.size(24.dp)) { val strokeWidth = 2.dp.toPx() val lineSpacing = 4.dp.toPx() @@ -366,7 +367,7 @@ private fun MenuIcon(modifier: Modifier = Modifier) { val startY = (size.height - totalHeight) / 2 repeat(3) { i -> drawLine( - color = Color.White, + color = color, start = Offset(0f, startY + i * (strokeWidth + lineSpacing)), end = Offset(size.width, startY + i * (strokeWidth + lineSpacing)), strokeWidth = strokeWidth diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/LicensesScreen.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/LicensesScreen.kt index 84939a1..d00891d 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/LicensesScreen.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/LicensesScreen.kt @@ -41,19 +41,20 @@ fun LicensesScreen( title = { Text("开放源代码许可") }, navigationIcon = { IconButton(onClick = onBack) { + val arrowColor = MaterialTheme.colorScheme.onSurface Canvas(modifier = Modifier.size(24.dp)) { val strokeWidth = 2.dp.toPx() drawLine( - color = Color.White, - start = Offset(size.width * 0.75f, size.height * 0.25f), + color = arrowColor, + start = Offset(size.width * 0.75f, size.height * 0.15f), end = Offset(size.width * 0.25f, size.height * 0.5f), strokeWidth = strokeWidth, cap = StrokeCap.Round ) drawLine( - color = Color.White, + color = arrowColor, start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.75f), + end = Offset(size.width * 0.75f, size.height * 0.85f), strokeWidth = strokeWidth, cap = StrokeCap.Round )