🧩Icon()
Что такое Icon?
Icon
— это простой элемент, который используется для отображения маленького изображения или символа, например, стрелки, звезды или корзины. Иконка в приложении помогает пользователю понять, что делает кнопка или какое значение отображается, благодаря узнаваемым символам.
Аналогия: Представьте, что вы находитесь в большом торговом центре. На указателях вы видите маленькие изображения, например, нож и вилка (для кафе), корзина (для магазина) или стрелка (для направления). Эти иконки сразу подсказывают вам, куда идти, не нужно читать длинные описания. Icon
в приложении работает точно так же.
Пример использования Icon

class IconExample extends StatelessWidget {
const IconExample({super.key});
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
child: Icon(
Icons.favorite,
color: Colors.red,
size: 50,
),
),
);
}
}
В этом примере мы добавляем иконку favorite, задаем ей размер и цвет.
Настройки Icon с простыми пояснениями и примерами
1. Key? key
Описание: Уникальный ключ для идентификации этого виджета в иерархии. Может быть полезен для анимаций или при перестроении элементов интерфейса. Пример:
key: Key('star_icon') // Уникальный ключ для иконки
2. double? size
Описание: Задает размер иконки в пикселях. Пример:
size: 30.0 // Иконка будет размером 30 пикселей
3. double? fill
Описание: Позволяет изменять заполнение иконки. Работает не со всеми иконками. Пример:
fill: 0.5 // Заполнение иконки на половину
4. double? weight
Описание: Определяет толщину линий иконки. Пример:
weight: 2.0 // Иконка будет более толстой
5. double? grade
Описание: Управляет толщиной линий для некоторых иконок. Может использоваться для тонкой настройки. Пример:
grade: 1.5 // Увеличенная толщина линий
6. double? opticalSize
Описание: Настраивает размер иконки с учетом ее контекста и расположения. Может варьировать масштаб для улучшения читаемости. Пример:
opticalSize: 40.0 // Подгоняет размер иконки под оптическое восприятие
7. Color? color
Описание: Задает цвет иконки. Пример:
color: Colors.blue // Синяя иконка
8. List<Shadow>? shadows
Описание: Добавляет тени к иконке, чтобы она выделялась или создавала эффект объема. Пример:
shadows: [Shadow(color: Colors.black, offset: Offset(2, 2), blurRadius: 4.0)] // Черная тень
9. String? semanticLabel
Описание: Текстовая подпись для иконки, используемая для доступности, чтобы экранные чтецы могли озвучивать значение иконки. Пример:
semanticLabel: 'Звезда' // Чтец озвучит "Звезда"
10. TextDirection? textDirection
Описание: Направление текста и расположение иконки (слева направо или справа налево). Пример:
textDirection: TextDirection.rtl // Иконка будет направлена справа налево
11. bool? applyTextScaling
Описание: Позволяет масштабировать иконку в зависимости от настроек текста в системе. Пример:
applyTextScaling: true // Иконка масштабируется при увеличении размера текста
Итог
Icon
— это маленькое изображение, которое сразу передает смысл кнопки или раздела, помогает пользователям быстрее ориентироваться и добавляет визуальную структуру. Все настройки позволяют настраивать иконку под стиль и нужды приложения.
Last updated