Ответ
Виджет Icon в Flutter используется для отображения векторных иконок в пользовательском интерфейсе. В моих проектах я применяю иконки для:
1. Визуальной коммуникации действий:
FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add), // Чётко обозначает действие "добавить"
)
2. Навигации и указания:
AppBar(
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () => Navigator.pop(context),
),
)
3. Отображения статусов:
Row(
children: [
Icon(
task.isCompleted ? Icons.check_circle : Icons.radio_button_unchecked,
color: task.isCompleted ? Colors.green : Colors.grey,
),
Text(task.title),
],
)
Доступные наборы иконок:
Icons— Material Design иконки (более 1800 штук)CupertinoIcons— iOS-стиль иконки- Кастомные иконки через
Icon.asset()с SVG или шрифтовыми файлами
Почему именно Icon, а не Image:
- Векторное масштабирование — иконки чётко выглядят на любом разрешении.
- Лёгкая кастомизация — можно менять цвет, размер, тень через параметры.
- Независимость от плотности пикселей — не нужны
1x,2x,3xверсии. - Меньший размер приложения — шрифтовые иконки весят меньше растровых изображений.
В последнем проекте я создал кастомный набор иконок через flutter_icons для брендинга, что позволило сохранить единый стиль во всём приложении.