Класс Icons
Класс Icons не создают через конструктор:
у него только статические поля типа
IconData.
Константу передают в Icon
или в кнопки Material. Ниже перечислены часто используемые
иконки по смыслу, полный список шире.
Синтаксис
Icon(Icons.home)
Значения
| Значение | Описание |
|---|---|
home, menu, arrowBack, close, search |
Навигация и каркас экрана: домой, бургер-меню, назад, закрыть, поиск. |
add, remove, edit, delete, save, refresh |
Действия с данными: добавить, убрать, правка, удаление, сохранить, обновить. |
share, settings, moreVert, moreHoriz, info, help |
Меню и служебные команды: поделиться, настройки, три точки, справка, информация. |
favorite, favoriteBorder, star, starBorder, thumbUp, thumbDown |
Оценка и избранное: сердце, звезда, палец вверх и вниз. |
visibility, visibilityOff, lock, lockOpen, person, group |
Профиль и безопасность: показать или скрыть, замок, пользователь, группа. |
email, phone, chat, notifications, notificationsOff |
Связь: письмо, звонок, чат, уведомления. |
check, checkCircle, cancel, error, warning |
Статус операции: успех, отмена, ошибка, предупреждение. |
photo, image, cameraAlt, videocam, mic |
Медиа: галерея, снимок, камера, видео, микрофон. |
folder, folderOpen, attachFile, download, upload |
Файлы: каталог, вложение, загрузка и выгрузка. |
playArrow, pause, stop, skipNext, skipPrevious |
Управление воспроизведением: старт, пауза, стоп, треки. |
Пример
Давайте соберём ряд из трёх разных иконок:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.email, color: Colors.blue),
SizedBox(width: 12),
Icon(Icons.phone, color: Colors.green),
SizedBox(width: 12),
Icon(Icons.chat, color: Colors.orange),
],
),
),
),
),
);
}
На экране в ряд встанут синий конверт, зелёная трубка и оранжевый чат.
Пример
Давайте переключим избранное между контуром и заливкой:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.favoriteBorder, size: 32),
SizedBox(width: 16),
Icon(Icons.favorite, size: 32, color: Colors.red),
],
),
),
),
),
);
}
На экране слева будет пустое сердце, справа - красное закрашенное.
Смотрите также
-
класс
IconData,
который описывает один символ шрифта -
виджет
Icon,
который рисуетIconDataна экране -
виджет
ImageIcon,
который заменяет шрифт растровой иконкой -
виджет
FlutterLogo,
который показывает логотип фреймворка