Виджет Tooltip
Виджет Tooltip оборачивает child
и рисует message во
Overlay.
На desktop подсказка часто открывается при наведении,
на touch - после long press.
Синтаксис
Tooltip(
message: 'abcde',
child: Icon(Icons.info),
)
Параметры
| Параметр | Описание |
|---|---|
message | Текст подсказки. Обязательный параметр. |
child | Виджет, к которому привязана подсказка. |
decoration | Оформление фона подсказки. |
waitDuration | Задержка перед показом после наведения. |
Пример
Давайте повесим Tooltip на кнопку:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: TooltipDemo()));
}
class TooltipDemo extends StatelessWidget
{
const TooltipDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: Tooltip(
message: '12345',
child: ElevatedButton(
onPressed: () {},
child: Text('abcde'),
),
),
),
);
}
}
На экране кнопка 'abcde'; long press или hover покажет подсказку '12345'.
Пример
Давайте зададим короткую waitDuration:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: TooltipFastDemo()));
}
class TooltipFastDemo extends StatelessWidget
{
const TooltipFastDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: Center(
child: Tooltip(
message: 'abcde',
waitDuration: Duration(milliseconds: 100),
child: Text('12345'),
),
),
);
}
}
Текст '12345' на экране; подсказка 'abcde' появится быстрее обычного.
Смотрите также
-
виджет
Overlay,
слой поверх маршрутов -
класс
OverlayState,
управление спискомOverlayEntry -
класс
OverlayEntry,
один виджет в слое -
виджет
OverlayPortal,
слой из обычного виджета