DEV Community

myougaTheAxo
myougaTheAxo

Posted on

Dynamic Color Palette in Android: Extended Colors and Material You

Dynamic Color Palette in Android: Extended Colors and Material You

Material You introduces dynamic color that adapts to device wallpapers, creating personalized, harmonious UIs.

Checking Dynamic Color Support

val dynamicColor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
Enter fullscreen mode Exit fullscreen mode

Using Dynamic Colors in Compose

val colorScheme = if (dynamicColor && Build.VERSION.SDK_INT >= 31) {
    dynamicLightColorScheme(context)
} else {
    lightColorScheme()
}

MaterialTheme(colorScheme = colorScheme) {
    // Your UI
}
Enter fullscreen mode Exit fullscreen mode

Extended Color Palette

val colors = colorScheme.copy(
    primary = Color(0xFF6200EE),
    secondary = Color(0xFF03DAC6),
    tertiary = Color(0xFF3700B3)
)
Enter fullscreen mode Exit fullscreen mode

Applying Dynamic Colors

Text(
    text = "Adaptive text",
    color = MaterialTheme.colorScheme.primary
)

Button(
    onClick = { },
    colors = ButtonDefaults.buttonColors(
        containerColor = MaterialTheme.colorScheme.primaryContainer
    )
)
Enter fullscreen mode Exit fullscreen mode

Dynamic colors ensure your app adapts beautifully to user preferences, creating cohesive and personalized experiences across the device ecosystem.


8 Android app templates available on Gumroad

Top comments (0)