dynamic_color 0.1.0
dynamic_color: ^0.1.0 copied to clipboard

Flutter package to obtain dynamic colors on Android S+ and create harmonized color schemes.

dynamic_color #

ci pub package

A Flutter package to obtain dynamic colors on Android S+ and create harmonized color schemes.

Learn more about dynamic color. 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 CorePalette.

Plugin #

Under the hood, DynamicColorBuilder uses a plugin to talk to the Android 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 all ColorScheme's semantic and custom 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 and creating a harmonized color scheme. Essentially, we wrap our MaterialApp with a DynamicColorBuilder, and create:

  • a dynamic color scheme that we harmonize
  • a fallback color scheme

Run all examples with

cd example
flutter run
11
likes
110
pub points
53%
popularity

Publisher

material.io

Flutter package to obtain dynamic colors on Android S+ and create harmonized color schemes.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

flutter, flutter_test, material_color_utilities

More

Packages that depend on dynamic_color