StyledIcon (Icon)
A wrapped Icon
widget that can be easily themed and styled using Mix style attributes. This simplifies the process of applying consistent and reusable styling across Icon
widgets.
Usage
To use StyledIcon
, simply pass the icon data and apply the style using the Style
class.
StyledIcon(
Icons.star,
style: Style(
$icon.size(30),
$icon.color.blue(),
),
);
Inheritance
The StyledIcon widget has the inherit
flag set to true
by default. This means that the style attributes will be inherited from its nearest Style
ancestor in the widget tree.
Box(
Style(
$icon.size(30),
$icon.color.blue(),
),
child: StyledIcon(Icons.star),
);
In the above example, the StyledIcon
widget will inherit the icon size and color style from the Box
widget. However, remember that modifier
attributes cannot be inherited.
AnimatedStyledIcon
An AnimatedStyledIcon
allows you to use AnimatedIconData
with controllable animation progress, and it applies styles in the same manner as StyledIcon
.
AnimatedStyledIcon(
AnimatedIcons.menu_close,
progress: animationController, // Animation<double>
style: Style(
$icon.size(60),
$icon.color.green(),
),
);
Utilities
The $icon
constant alias is an instance of IconSpecUtility
, which facilitates the construction of IconSpecAttribute
objects. These attributes are used to style and manage properties of StyledIcon
and AnimatedStyledIcon
.
color
Change the color of the icon:
$icon.color.red();
size
Set the size of the icon:
$icon.size(24);
// document , , , , , ,
weight
Set the stroke weight for drawing the icon:
$icon.weight(24);
grade
Set the grade (granular stroke weight) for drawing the icon:
$icon.grade(10);
opticalSize
Set the optical size for drawing the $$icon.:
$icon.opticalSize(10);
fill
Set the fill for drawing the icon:
$icon.fill(0.7);
applyTextScaling
Set to able the icon scale:
$icon.applyTextScaling.on();
shadow and shadows
Set the shadow that will be painted underneath the icon:
$icon.shadow(10);
$icon.shadows([
ShadowDto(
color: ColorDto(
Colors.black,
),
),
]);