From a5a4173cc26060290ed177316beec411e2056da9 Mon Sep 17 00:00:00 2001 From: xfy Date: Mon, 8 Jun 2026 13:10:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=BF=94=E5=9B=9E=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=BB=8E=20Canvas=20=E6=89=8B=E7=BB=98=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E4=B8=BA=20Material=20Icons=20ChevronLeft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/plus/rua/project/ui/AboutScreen.kt | 28 +++++------------ .../plus/rua/project/ui/DateCheckerScreen.kt | 28 +++-------------- .../plus/rua/project/ui/LicensesScreen.kt | 29 +++++------------ .../kotlin/plus/rua/project/ui/ToolsScreen.kt | 31 +++++-------------- 4 files changed, 26 insertions(+), 90 deletions(-) diff --git a/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt b/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt index 0536c7b..14368ec 100644 --- a/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt +++ b/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt @@ -1,6 +1,5 @@ package plus.rua.project.ui -import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -8,7 +7,10 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ChevronLeft import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold @@ -20,8 +22,6 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.unit.dp import com.github.panpf.sketch.AsyncImage import plus.rua.project.AppInfo @@ -48,24 +48,10 @@ 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 = 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 = arrowColor, - start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.85f), - strokeWidth = strokeWidth, - cap = StrokeCap.Round - ) - } + Icon( + imageVector = Icons.Filled.ChevronLeft, + contentDescription = "返回" + ) } } ) diff --git a/core/src/main/kotlin/plus/rua/project/ui/DateCheckerScreen.kt b/core/src/main/kotlin/plus/rua/project/ui/DateCheckerScreen.kt index e6b701d..2b97309 100644 --- a/core/src/main/kotlin/plus/rua/project/ui/DateCheckerScreen.kt +++ b/core/src/main/kotlin/plus/rua/project/ui/DateCheckerScreen.kt @@ -37,6 +37,7 @@ import androidx.compose.material3.SmallFloatingActionButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ChevronLeft import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Refresh import androidx.compose.material3.Icon @@ -172,7 +173,10 @@ fun DateCheckerScreen(onBack: () -> Unit, modifier: Modifier = Modifier) { }, navigationIcon = { IconButton(onClick = onBack) { - BackArrowIcon() + Icon( + imageVector = Icons.Filled.ChevronLeft, + contentDescription = "返回" + ) } }, colors = TopAppBarDefaults.topAppBarColors( @@ -648,28 +652,6 @@ private fun ExpiryCard( // region Icons -@Composable -private fun BackArrowIcon(modifier: Modifier = Modifier) { - val color = MaterialTheme.colorScheme.onSurface - androidx.compose.foundation.Canvas(modifier = modifier.size(24.dp)) { - val strokeWidth = 2.dp.toPx() - drawLine( - color = color, - 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, - start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.85f), - strokeWidth = strokeWidth, - cap = StrokeCap.Round - ) - } -} - @Composable private fun CalendarIcon(color: Color, modifier: Modifier = Modifier) { androidx.compose.foundation.Canvas(modifier = modifier.size(24.dp)) { diff --git a/core/src/main/kotlin/plus/rua/project/ui/LicensesScreen.kt b/core/src/main/kotlin/plus/rua/project/ui/LicensesScreen.kt index 23bd96a..ef22d53 100644 --- a/core/src/main/kotlin/plus/rua/project/ui/LicensesScreen.kt +++ b/core/src/main/kotlin/plus/rua/project/ui/LicensesScreen.kt @@ -1,16 +1,17 @@ package plus.rua.project.ui -import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ChevronLeft import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.ListItem import androidx.compose.material3.MaterialTheme @@ -19,8 +20,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.unit.dp /** @@ -41,24 +40,10 @@ 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 = 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 = arrowColor, - start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.85f), - strokeWidth = strokeWidth, - cap = StrokeCap.Round - ) - } + Icon( + imageVector = Icons.Filled.ChevronLeft, + contentDescription = "返回" + ) } } ) diff --git a/core/src/main/kotlin/plus/rua/project/ui/ToolsScreen.kt b/core/src/main/kotlin/plus/rua/project/ui/ToolsScreen.kt index 9a02df1..8a1ea90 100644 --- a/core/src/main/kotlin/plus/rua/project/ui/ToolsScreen.kt +++ b/core/src/main/kotlin/plus/rua/project/ui/ToolsScreen.kt @@ -1,18 +1,17 @@ package plus.rua.project.ui -import androidx.compose.foundation.Canvas import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ChevronLeft import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold @@ -20,8 +19,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.platform.testTag import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.testTagsAsResourceId @@ -48,24 +45,10 @@ fun ToolsScreen( title = { Text("工具") }, navigationIcon = { IconButton(onClick = onBack) { - val arrowColor = MaterialTheme.colorScheme.onSurface - Canvas(modifier = Modifier.size(24.dp)) { - val strokeWidth = 2.dp.toPx() - drawLine( - 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 = arrowColor, - start = Offset(size.width * 0.25f, size.height * 0.5f), - end = Offset(size.width * 0.75f, size.height * 0.85f), - strokeWidth = strokeWidth, - cap = StrokeCap.Round - ) - } + Icon( + imageVector = Icons.Filled.ChevronLeft, + contentDescription = "返回" + ) } } )