TGViewer
Flutter Friendly Flutter Friendly @flutterfriendly · 995 subscribers
Post #193 678
Привет, это Роза, Flutter Dev Friflex!🚀

Сегодня немного о том, как улучшить UI-опыт в ваших Flutter web-приложениях.

Порой даже в самом продуманном интерфейсе нужны подсказки.  
Допустим, у вас есть кнопка: иконка вроде есть, но… что она делает? Чтобы закрыть такие «дыры» в UX во Flutter есть такой виджет как Tooltip. Вроде мелочь, но при помощи одной лишь строчки вы заметно улучшите опыт пользователя.

Tooltip — это всплывающая подсказка, которая появляется:
✔️ при долгом тапе на мобильных устройствах
✔️при наведении курсора в вебе и на десктопе

Например, это может быть  полезно:
▫️ для иконок без текста
▫️ для кнопок с непонятным назначением

Tooltip реализован через Overlay, чтобы подсказка могла отображаться поверх всех виджетов. Он отслеживает действие и вставляет в Overlay анимированный контейнер с текстом. 

Положение, задержка и продолжительность отображения настраиваются через waitDuration, showDuration и другие параметры.

Базовое использование:

Tooltip(
  message: 'Добавить',
  child: Icon(Icons.add),
)


Но на этом не все, вы также можете его кастомизировать: задать фон, стили, задержки и даже использовать rich-контент.

    Tooltip(
  decoration: BoxDecoration(
    color: Theme.of(context).colorScheme.surface,
  ),
  richMessage: WidgetSpan(
    alignment: PlaceholderAlignment.baseline,
    baseline: TextBaseline.alphabetic,
    child: Padding(
      padding: const EdgeInsets.all(4.0),
      child: ConstrainedBox(
        constraints: BoxConstraints(maxWidth: maxWidth),
        child: Text(
          message,
          style: Theme.of(context).textTheme.bodySmall,
        ),
      ),
    ),
  ),
  child: const InfoIcon(isOutline: true, size: 20),
);



Некоторые виджеты уже встроенно поддерживают тултипы. Например, IconButton.

IconButton(
  icon: Icon(Icons.search),
  tooltip: 'Поиск',
  onPressed: () {},
)


❕При использовании tooltip не стоит перебарщивать. Добавляйте подсказки только в те места, где это действительно необходимо! Не надо дублировать то, что и так ясно.

Если вам хочется больше контроля, то можете сделать собственный тултип через OverlayEntry. Об это был пост.

Если было полезно — ❤️
  • 👍 10
  • ❤ 8
  • 🔥 4
More from @flutterfriendly
  1. May 14, 2026👀Какой сложный вопрос или тема по Flutter вас сейчас беспокоят? Может, задача не идет, ба…
  2. Apr 17, 2026💭Привет! Это Роза, Flutter-разработчица Friflex! Уверена, многие из вас знакомы с Dart De…
  3. Apr 8, 2026Привет, друзья! Делимся нашей страничкой на Хабре, чтобы всегда оставаться на связи. Там е…
  4. Apr 3, 2026🌸Апрель в календаре и на экране Весна зовет обновлять визуальное: убирать темные темы и в…
  5. Apr 1, 2026Всегда с нетерпением ждем этого дня, чтобы сделать подборку ИТ-мемов Пусть поводов для улы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →