AnimatedIcons class abstract final

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.
arrow_menu → const AnimatedIconData
The Material Design arrow to menu icon animation.
close_menu → const AnimatedIconData
The Material Design close to menu icon animation.
The Material Design ellipsis to search icon animation.
event_add → const AnimatedIconData
The Material Design event to add icon animation.
home_menu → const AnimatedIconData
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.