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.Surface
import androidx.compose.material3.Text
import androidx.compose.ui.graphics.lerp
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -268,11 +269,23 @@ private fun ProfilePickerRow(
color = when {
isDragging -> MaterialTheme.colorScheme.tertiaryContainer
isSelected -> if (isSystemInDarkTheme()) {
MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f)
lerp(
MaterialTheme.colorScheme.surfaceContainerLow,
MaterialTheme.colorScheme.surfaceContainerHigh,
0.5f,
)
} else {
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,
) {

View File

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

View File

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