Color class

An immutable 32 bit color value in ARGB format.

Consider the light teal of the Flutter logo. It is fully opaque, with a red channel value of 0x42 (66), a green channel value of 0xA5 (165), and a blue channel value of 0xF5 (245). In the common "hash syntax" for color values, it would be described as #42A5F5.

Here are some ways it could be constructed:

Color c1 = const Color(0xFF42A5F5);
Color c2 = const Color.fromARGB(0xFF, 0x42, 0xA5, 0xF5);
Color c3 = const Color.fromARGB(255, 66, 165, 245);
Color c4 = const Color.fromRGBO(66, 165, 245, 1.0);

If you are having a problem with Color wherein it seems your color is just not painting, check to make sure you are specifying the full 8 hexadecimal digits. If you only specify six, then the leading two digits are assumed to be zero, which means fully-transparent:

Color c1 = const Color(0xFFFFFF); // fully transparent white (invisible)
Color c2 = const Color(0xFFFFFFFF); // fully opaque white (visible)

Color's color components are stored as floating-point values. Care should be taken if one does not want the literal equality provided by operator==. To test equality inside of Flutter tests consider using package:test's isSameColorAs.

See also:

  • Colors, which defines the colors found in the Material Design specification.
  • isSameColorAs, a Matcher to handle floating-point deltas when checking Color equality.
Implementers

Constructors

Color(int value)
Construct an sRGB color from the lower 32 bits of an int.
const
Color.from({required double alpha, required double red, required double green, required double blue, ColorSpace colorSpace = ColorSpace.sRGB})
Construct a color with normalized color components.
const
Color.fromARGB(int a, int r, int g, int b)
Construct an sRGB color from the lower 8 bits of four integers.
const
Color.fromRGBO(int r, int g, int b, double opacity)
Create an sRGB color from red, green, blue, and opacity, similar to rgba() in CSS.
const

Properties

a double
The alpha channel of this color.
final
alpha int
The alpha channel of this color in an 8 bit value.
no setter
b double
The blue channel of this color.
final
blue int
The blue channel of this color in an 8 bit value.
no setter
colorSpace ColorSpace
The color space of this color.
final
g double
The green channel of this color.
final
green int
The green channel of this color in an 8 bit value.
no setter
hashCode int
The hash code for this object.
no setteroverride
opacity double
The alpha channel of this color as a double.
no setter
r double
The red channel of this color.
final
red int
The red channel of this color in an 8 bit value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
value int
A 32 bit value representing this color.
no setter

Methods

computeLuminance() double
Returns a brightness value between 0 for darkest and 1 for lightest.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override
withAlpha(int a) Color
Returns a new color that matches this color with the alpha channel replaced with a (which ranges from 0 to 255).
withBlue(int b) Color
Returns a new color that matches this color with the blue channel replaced with b (which ranges from 0 to 255).
withGreen(int g) Color
Returns a new color that matches this color with the green channel replaced with g (which ranges from 0 to 255).
withOpacity(double opacity) Color
Returns a new color that matches this color with the alpha channel replaced with the given opacity (which ranges from 0.0 to 1.0).
withRed(int r) Color
Returns a new color that matches this color with the red channel replaced with r (which ranges from 0 to 255).
withValues({double? alpha, double? red, double? green, double? blue, ColorSpace? colorSpace}) Color
Returns a new color that matches this color with the passed in components changed.

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

alphaBlend(Color foreground, Color background) Color
Combine the foreground color as a transparent color over top of a background color, and return the resulting combined color.
getAlphaFromOpacity(double opacity) int
Returns an alpha value representative of the provided opacity value.
lerp(Color? x, Color? y, double t) Color?
Linearly interpolate between two colors.