AnimatedIcon class
Shows an animated icon at a given animation progress.
The available icons are specified in AnimatedIcons.
Learn more about AnimatedIcon on the Flutter YouTube channel.
This example shows how to create an animated icon. The icon is animated forward and reverse in a loop.
To see it in action, copy and run this code snippet on DartPad.
import 'package:material_ui/material_ui.dart';
/// Flutter code sample for [AnimatedIcon].
void main() {
runApp(const AnimatedIconApp());
}
class AnimatedIconApp extends StatelessWidget {
const AnimatedIconApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(colorSchemeSeed: const Color(0xff6750a4)),
home: const Scaffold(body: AnimatedIconExample()),
);
}
}
class AnimatedIconExample extends StatefulWidget {
const AnimatedIconExample({super.key});
@override
State<AnimatedIconExample> createState() => _AnimatedIconExampleState();
}
class _AnimatedIconExampleState extends State<AnimatedIconExample>
with SingleTickerProviderStateMixin {
late AnimationController controller;
late Animation<double> animation;
@override
void initState() {
super.initState();
controller =
AnimationController(vsync: this, duration: const Duration(seconds: 2))
..forward()
..repeat(reverse: true);
animation = Tween<double>(begin: 0.0, end: 1.0).animate(controller);
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: AnimatedIcon(
icon: AnimatedIcons.menu_arrow,
progress: animation,
size: 72.0,
semanticLabel: 'Show menu',
),
),
);
}
}
See also:
- Icons, for the list of available static Material Icons.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- AnimatedIcon
Constructors
-
AnimatedIcon({Key? key, required AnimatedIconData icon, required Animation<
double> progress, Color? color, double? size, String? semanticLabel, TextDirection? textDirection}) -
Creates an AnimatedIcon.
const
Properties
- color → Color?
-
The color to use when drawing the icon.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- icon → AnimatedIconData
-
The icon to display. Available icons are listed in AnimatedIcons.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
progress
→ Animation<
double> -
The animation progress for the animated icon.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticLabel → String?
-
Semantic label for the icon.
final
- size → double?
-
The size of the icon in logical pixels.
final
- textDirection → TextDirection?
-
The text direction to use for rendering the icon.
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited