我在 Jetpack Compose 中有一张卡片,我将其容器颜色设置为 0xFFFAFAFA, (250, 250, 250)。 现在这个颜色是浅灰色的,但对我来说它是蓝色的。为什么会这样?
Card(
modifier = Modifier
.fillMaxWidth()
.padding(8.dp)
.clickable { onClick() },
colors = CardDefaults.cardColors().copy(containerColor = Color(color = 0xFFFAFAFA))
) {
....
}
这不是一个错误,而是一个功能;)
Material3 引入了一个称为“色调提升”的概念。 简短总结:表面颜色可能会根据海拔而变化。 由于您的卡片具有高度,因此您的卡片颜色会发生变化。
请参阅
撰写主题教程部分色调和阴影高度了解更多说明。 文档中
也说明了此行为:CardElevation 用于解析此卡在不同情况下的海拔高度 州。这控制卡片下方阴影的大小。 另外,当容器颜色为 ColorScheme.surface 时,此 控制作为叠加层应用的原色数量。参见: 表面。