Identifier for the supported Material Design animated icons.
Use with AnimatedIcon class to show specific animated icons.
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].
final Map<String, AnimatedIconData> iconsList = <String, AnimatedIconData>{
'add_event': AnimatedIcons.add_event,
'arrow_menu': AnimatedIcons.arrow_menu,
'close_menu': AnimatedIcons.close_menu,
'ellipsis_search': AnimatedIcons.ellipsis_search,
'event_add': AnimatedIcons.event_add,
'home_menu': AnimatedIcons.home_menu,
'list_view': AnimatedIcons.list_view,
'menu_arrow': AnimatedIcons.menu_arrow,
'menu_close': AnimatedIcons.menu_close,
'menu_home': AnimatedIcons.menu_home,
'pause_play': AnimatedIcons.pause_play,
'play_pause': AnimatedIcons.play_pause,
'search_ellipsis': AnimatedIcons.search_ellipsis,
'view_list': AnimatedIcons.view_list,
};
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: GridView(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 4,
),
children: iconsList.entries.map((
MapEntry<String, AnimatedIconData> entry,
) {
return Card(
child: Center(
child: Column(
mainAxisAlignment: .center,
children: <Widget>[
AnimatedIcon(
icon: entry.value,
progress: animation,
size: 72.0,
semanticLabel: entry.key,
),
const SizedBox(height: 8.0),
Text(entry.key),
],
),
),
);
}).toList(),
),
);
}
}
See also:
- Icons, for the list of available static Material Icons.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- add_event → const AnimatedIconData
- The Material Design add to event icon animation.
- The Material Design arrow to menu icon animation.
- The Material Design close to menu icon animation.
- ellipsis_search → const AnimatedIconData
- The Material Design ellipsis to search icon animation.
- event_add → const AnimatedIconData
- The Material Design event to add icon animation.
- The Material Design home to menu icon animation.
- list_view → const AnimatedIconData
- The Material Design list to view icon animation.
- The Material Design menu to arrow icon animation.
- The Material Design menu to close icon animation.
- The Material Design menu to home icon animation.
- pause_play → const AnimatedIconData
- The Material Design pause to play icon animation.
- play_pause → const AnimatedIconData
- The Material Design play to pause icon animation.
- search_ellipsis → const AnimatedIconData
- The Material Design search to ellipsis icon animation.
- view_list → const AnimatedIconData
- The Material Design view to list icon animation.