在使用基于视图的系统时,我们可以使用下面的代码来协调颜色。
MaterialColors.harmonizeWithPrimary(context, colorToHarmonize)
在一个完全迁移到Jetpack Compose并且所有颜色值都存储在Color.kt文件中的项目中,如何在运行时对颜色应用协调?
Color.kt
f0brbegy1#
你可以用
MaterialColors.harmonize(colorToHarmonize, colorToHarmonizeWith)
并将您的自定义颜色与动态配色方案中的 primaryColor 进行协调
MaterialColors.harmonize(customColor.toArgb(), MaterialTheme.colorScheme.primary.toArgb())
如果你想进行额外的步骤,你可以通过 CompositionLocalProvider 来提供协调值,以将其提供给合成,以匹配 MaterialTheme.colorScheme 提供动态颜色的方式。我在这个项目中对这个问题进行了更多的探讨:https://github.com/acolombo25/harmonized-colors-compose
1条答案
按热度按时间f0brbegy1#
你可以用
并将您的自定义颜色与动态配色方案中的 primaryColor 进行协调
如果你想进行额外的步骤,你可以通过 CompositionLocalProvider 来提供协调值,以将其提供给合成,以匹配 MaterialTheme.colorScheme 提供动态颜色的方式。
我在这个项目中对这个问题进行了更多的探讨:https://github.com/acolombo25/harmonized-colors-compose