Fix dark color contrast after Compose BOM update

This commit is contained in:
世界
2026-02-22 20:15:51 +08:00
parent d3e6add3e0
commit 1c9cac578c
3 changed files with 32 additions and 5 deletions

View File

@@ -42,6 +42,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Surface import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.ui.graphics.lerp
import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
@@ -268,11 +269,23 @@ private fun ProfilePickerRow(
color = when { color = when {
isDragging -> MaterialTheme.colorScheme.tertiaryContainer isDragging -> MaterialTheme.colorScheme.tertiaryContainer
isSelected -> if (isSystemInDarkTheme()) { isSelected -> if (isSystemInDarkTheme()) {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f) lerp(
MaterialTheme.colorScheme.surfaceContainerLow,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.5f,
)
} else { } else {
MaterialTheme.colorScheme.surfaceDim MaterialTheme.colorScheme.surfaceDim
} }
else -> MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.3f) else -> if (isSystemInDarkTheme()) {
lerp(
MaterialTheme.colorScheme.surfaceContainerLow,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.35f,
)
} else {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.3f)
}
}, },
tonalElevation = animatedElevation.dp, tonalElevation = animatedElevation.dp,
) { ) {

View File

@@ -19,6 +19,7 @@ import androidx.compose.material3.Surface
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.graphics.lerp
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
@@ -35,7 +36,11 @@ fun ProfileSelectorButton(selectedProfile: Profile?, onClick: () -> Unit, modifi
modifier = modifier.fillMaxWidth().height(48.dp), modifier = modifier.fillMaxWidth().height(48.dp),
shape = RoundedCornerShape(12.dp), shape = RoundedCornerShape(12.dp),
color = if (isSystemInDarkTheme()) { color = if (isSystemInDarkTheme()) {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f) lerp(
MaterialTheme.colorScheme.surfaceContainerHighest,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.5f,
)
} else { } else {
MaterialTheme.colorScheme.surfaceDim MaterialTheme.colorScheme.surfaceDim
}, },

View File

@@ -53,6 +53,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.lerp
import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
@@ -248,7 +249,11 @@ fun ProfilesCard(
onClick = onShowAddProfileSheet, onClick = onShowAddProfileSheet,
shape = RoundedCornerShape(12.dp), shape = RoundedCornerShape(12.dp),
color = if (isSystemInDarkTheme()) { color = if (isSystemInDarkTheme()) {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f) lerp(
MaterialTheme.colorScheme.surfaceContainerHighest,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.5f,
)
} else { } else {
MaterialTheme.colorScheme.surfaceDim MaterialTheme.colorScheme.surfaceDim
}, },
@@ -753,7 +758,11 @@ private fun ActionButton(
enabled = enabled, enabled = enabled,
shape = RoundedCornerShape(12.dp), shape = RoundedCornerShape(12.dp),
color = if (isSystemInDarkTheme()) { color = if (isSystemInDarkTheme()) {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f) lerp(
MaterialTheme.colorScheme.surfaceContainerHighest,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.5f,
)
} else { } else {
MaterialTheme.colorScheme.surfaceDim MaterialTheme.colorScheme.surfaceDim
}, },