dynamic_color 1.3.0
dynamic_color: ^1.3.0 copied to clipboard
A Flutter package to create Material color schemes based on a platform's implementation of dynamic color.
dynamic_color #
A Flutter package to create Material color schemes based on a platform's implementation of dynamic color. Currently supported platforms are:
- Android S+: color from user wallpaper
- macOS: app accent color
This package also supports color and color scheme harmonization. Learn more about custom colors and harmonization on the Material 3 site.
Features #
Builder widget #
For convenience, this package includes DynamicColorBuilder, a stateful widget
that provides the device's dynamic colors in a light and dark ColorScheme.
Plugin #
Under the hood, DynamicColorBuilder uses a plugin to talk to the OS.
Color and color scheme harmonization #
How do we ensure any particular color (i.e. semantic/custom color) looks good next to a user's dynamically-generated color?
This package provides two extension methods, Color.harmonizeWith() and
ColorScheme.harmonized() to accomplish this.
Color.harmonizeWith() shift the hue of the color towards the passed in
color, typically colorScheme.primary. This leaves the color recognizable
while harmonizing it.
ColorScheme.harmonized() does the same thing, for ColorScheme's
built-in semantic colors. See harmonization.dart for more.
Getting started #
flutter pub add dynamic_color
import 'package:dynamic_color/dynamic_color.dart';
Usage #
See this complete example for obtaining dynamic colors, creating harmonized color schemes, and harmonizing custom colors.
All examples are hosted on GitHub and can be run with:
cd example
flutter run
Development #
The hosted examples can be updated with:
cd example
flutter build web