This multiplatform library provides a builder for creating dynamic color schemes according to the Material 3 guidelines. You no longer have to export large sets of colors. You can also change the theme of your application in runtime.
implementation("com.github.g000sha256:material_color_scheme:1.1.0")
maven("https://jitpack.io")
val isDark = booleanResource(id = R.bool.is_dark)
val colorScheme = remember(isDark) {
return@remember buildColorScheme(
mode = if (isDark) ColorSchemeMode.Dark else ColorSchemeMode.Light,
primary = Color(red = 0, green = 255, blue = 0)
)
}
val isDark = booleanResource(id = R.bool.is_dark)
val colorScheme = remember(isDark) {
return@remember buildColorScheme(
mode = if (isDark) ColorSchemeMode.Dark else ColorSchemeMode.Light,
primary = Color(red = 0, green = 255, blue = 0),
secondary = Color(red = 115, green = 155, blue = 100),
tertiary = Color(red = 0, green = 160, blue = 170),
neutral = Color(red = 145, green = 145, blue = 140),
neutralVariant = Color(red = 140, green = 145, blue = 135),
error = Color(red = 255, green = 85, blue = 75)
)
}
val isDark = booleanResource(id = R.bool.is_dark)
val colorScheme = remember(isDark) {
val scheme = buildColorScheme(
mode = if (isDark) ColorSchemeMode.Dark else ColorSchemeMode.Light,
primary = Color(red = 0, green = 255, blue = 0)
)
return@remember scheme.copy(
outline = Color(red = 50, green = 50, blue = 50)
// override other colors here
)
}
MaterialTheme(colorScheme = colorScheme) {
// content
}
Color scheme settings are valid for 05.05.2024
Primary | Secondary | Tertiary | Neutral | Neutral Variant | Error |
---|---|---|---|---|---|
P | S | T | N | NV | E |
P | S | T | N | NV | E | |
---|---|---|---|---|---|---|
Hue | - | - | +60 | - | - | - |
Chroma | 36 | 16 | 24 | 4 | 8 | - |
- Standard, medium and high contrast
- Demo application