Flutter 轻触一次即可显示颤振工具提示
我想在单次点击时显示工具提示,而不是长时间点击 有人能帮我吗Flutter 轻触一次即可显示颤振工具提示,flutter,dart,tooltip,Flutter,Dart,Tooltip,我想在单次点击时显示工具提示,而不是长时间点击 有人能帮我吗 Tooltip( message: e.title, child: Card( semanticContainer: true, child: Padding( padding: EdgeInsets.symmetric( vertical: 12, horizontal: 12 ), child: Center( ch
Tooltip(
message: e.title,
child: Card(
semanticContainer: true,
child: Padding(
padding: EdgeInsets.symmetric(
vertical: 12,
horizontal: 12
),
child: Center(
child: Image.network(
e.icon,
height: 40,
),
),
),
),
)
作为一个选项,您可以创建简单的包装器小部件 完整示例:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: Home());
}
}
class Home extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Home")),
body: Center(
child: MyTooltip(
message: 'message',
child: Image.network('https://picsum.photos/seed/picsum/200/300', height: 40),
),
),
);
}
}
class MyTooltip extends StatelessWidget {
final Widget child;
final String message;
MyTooltip({@required this.message, @required this.child});
@override
Widget build(BuildContext context) {
final key = GlobalKey<State<Tooltip>>();
return Tooltip(
key: key,
message: message,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () => _onTap(key),
child: child,
),
);
}
void _onTap(GlobalKey key) {
final dynamic tooltip = key.currentState;
tooltip?.ensureTooltipVisible();
}
}
在显示o工具提示后,我添加了一个计时器,以编程方式隐藏它。TimerDurationMills:2500,=>工具提示?.dispose;^使用.dispose将不允许用户重新打开工具提示。请改为尝试:。停用