标题:
Jetpack Compose(Android 或多平台)中是否有
ColorScheme.fromSeed
等效项?
身体:
我正在 Android(或 Compose Multiplatform)上使用 Jetpack Compose,想知道是否有类似于 Flutter 的功能
ColorScheme.fromSeed
,我可以在其中生成全面的配色方案(主要、次要、背景、错误等)基于单一种子颜色。
在 Flutter 中,
ColorScheme.fromSeed
采用种子颜色并为浅色和深色主题生成一组有凝聚力的颜色,确保整个方案的色调一致,符合材料设计指南。
Jetpack Compose 是否具有类似的内置函数来从种子颜色生成配色方案?或者,是否有一个库可以提供此类功能?如果没有,在 Compose 中创建类似的基于种子的配色方案的推荐方法是什么?
我发现了一个名为 MaterialKolor 的库,它为 Jetpack Compose 提供了与 Flutter 的
ColorScheme.fromSeed
类似的功能。 MaterialKolor 基于单一种子颜色生成 Material Design 配色方案,创建主要颜色、次要颜色、背景颜色和其他颜色,同时确保良好的对比度和视觉和谐。
MaterialKolor 使用 Material Design 的颜色算法来导出色调和色调,使您可以轻松创建适应浅色和深色主题的一致的配色方案。以下是库文档中有关如何使用它的快速示例:
@Composable
fun MyTheme(
seedColor: Color,
useDarkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colorScheme = rememberDynamicColorScheme(seedColor, useDarkTheme)
MaterialTheme(
colors = colorScheme.toMaterialColors(),
content = content
)
}