🧩IconButton()
Что такое IconButton
IconButtonIconButton в Flutter — это кнопка, которая отображает иконку и реагирует на нажатия. Она предназначена для выполнения действий без необходимости отображать текст, что делает интерфейс более компактным и эстетичным. Обычно IconButton используется в навигации, меню и других контекстах, где иконка может быть достаточно информативной.
Пример использования
Вот пример того, как можно использовать IconButton в приложении Flutter:
Как работает код
IconButton: Основной виджет кнопки, отображающий иконку.
icon: Определяет, какую иконку будет отображать кнопка. В примере мы используем иконку сердечка.
onPressed: Функция, которая будет вызвана, когда кнопка будет нажата. Здесь мы показываем уведомление.
tooltip: Текст, который будет отображаться, когда пользователь наведёт курсор на кнопку.
Зачем это нужно
IconButton удобно использовать, когда вы хотите создать интуитивно понятные действия, которые не требуют текста. Это помогает сократить место на экране и позволяет пользователю быстро понять, что означает каждая кнопка, исходя из её иконки. Применяется в случаях, когда важна компактность интерфейса, например:
В строках инструментов.
В меню навигации.
В качестве действий в карточках и списках.
Все настройки IconButton
IconButtondouble? iconSize
Описание: Размер иконки. Если не указан, используется значение по умолчанию.
Пример:
VisualDensity? visualDensity
Описание: Определяет плотность визуальных элементов. Может использоваться для настройки расстояния между элементами.
Пример:
EdgeInsetsGeometry? padding
Описание: Отступы вокруг иконки внутри кнопки. Позволяет настроить пространство вокруг иконки.
Пример:
AlignmentGeometry? alignment
Описание: Определяет выравнивание иконки внутри кнопки. Полезно, если вы хотите изменить позицию иконки.
Пример:
double? splashRadius
Описание: Радиус эффекта всплеска при нажатии. Определяет, насколько далеко будет распространяться эффект при нажатии.
Пример:
Color? color
Описание: Цвет иконки. Позволяет изменить цвет в зависимости от состояния.
Пример:
Color? focusColor
Описание: Цвет, который будет использоваться, когда кнопка в фокусе.
Пример:
Color? hoverColor
Описание: Цвет, который будет использоваться, когда пользователь наводит курсор на кнопку.
Пример:
Color? highlightColor
Описание: Цвет, который будет использоваться при нажатии на кнопку.
Пример:
Color? splashColor
Описание: Цвет эффекта всплеска при нажатии на кнопку.
Пример:
Color? disabledColor
Описание: Цвет, который будет использоваться, когда кнопка отключена.
Пример:
required void Function()? onPressed
Описание: Функция, которая будет вызвана при нажатии на кнопку. Обязательный параметр.
Пример:
MouseCursor? mouseCursor
Описание: Курсор мыши, который будет отображаться, когда пользователь наводит курсор на кнопку.
Пример:
FocusNode? focusNode
Описание: Указывает на узел фокуса для управления фокусом этой кнопки.
Пример:
bool autofocus = false
Описание: Если true, кнопка автоматически получит фокус при загрузке.
Пример:
String? tooltip
Описание: Текст подсказки, который будет отображаться при наведении на кнопку.
Пример:
bool? enableFeedback
Описание: Указывает, нужно ли предоставлять тактильную обратную связь при нажатии.
Пример:
BoxConstraints? constraints
Описание: Ограничения для размера кнопки. Позволяет задать максимальные и минимальные размеры.
Пример:
ButtonStyle? style
Описание: Стиль кнопки, который позволяет настраивать её внешний вид.
Пример:
bool? isSelected
Описание: Указывает, выбрана ли кнопка. Используется для визуального изменения состояния.
Пример:
Widget? selectedIcon
Описание: Иконка, которая будет отображаться, когда кнопка выбрана.
Пример:
required Widget icon
Описание: Обязательный параметр, который указывает, какую иконку будет отображать кнопка.
Пример:
Заключение
IconButton — это простой, но мощный инструмент для создания интерактивных элементов в вашем приложении Flutter. Он позволяет вам легко добавлять иконки, которые могут выполнять действия, и при этом обеспечивать интуитивно понятный интерфейс. Возможности настройки делают его гибким для использования в самых разных контекстах, от кнопок навигации до элементов управления.
Last updated