android Material3在Jetpack合成中的颜色协调

mzsu5hc0  于 2023-06-20  发布在  Android
关注(0)|答案(1)|浏览(82)

在使用基于视图的系统时,我们可以使用下面的代码来协调颜色。

MaterialColors.harmonizeWithPrimary(context, colorToHarmonize)

在一个完全迁移到Jetpack Compose并且所有颜色值都存储在Color.kt文件中的项目中,如何在运行时对颜色应用协调?

f0brbegy

f0brbegy1#

你可以用

MaterialColors.harmonize(colorToHarmonize, colorToHarmonizeWith)

并将您的自定义颜色与动态配色方案中的 primaryColor 进行协调

MaterialColors.harmonize(customColor.toArgb(), MaterialTheme.colorScheme.primary.toArgb())

如果你想进行额外的步骤,你可以通过 CompositionLocalProvider 来提供协调值,以将其提供给合成,以匹配 MaterialTheme.colorScheme 提供动态颜色的方式。
我在这个项目中对这个问题进行了更多的探讨:https://github.com/acolombo25/harmonized-colors-compose

相关问题