颤振中是否有无模式对话框的模拟?如果不是,它可能是具有无模式对话框属性的构建小部件?
我会尽量详细解释。我的源问题已被编辑。
通过单击画布,我必须调用_handletapdown函数:
void _handleTapDown (TapDownDetails details)
{
_showModeless (context);
}
在这个函数中,需要可视化您的无模型小部件:
void _showModeless (BuildContext context)
{
// How do I show Modeless Widget?
}
最佳答案
您可以使用Overlay
将小部件添加到所有其他内容之上;并根据您的喜好使用它们。
class ModeLess extends StatefulWidget {
final Widget child;
ModeLess({this.child});
@override
_ModeLessState createState() => new _ModeLessState();
}
class _ModeLessState extends State<ModeLess> {
OverlayEntry modeless;
@override
void initState() {
super.initState();
modeless = new OverlayEntry(
opaque: false,
builder: (context) {
return new Positioned(
top: 50.0,
left: 50.0,
child: new SizedBox(
height: 50.0,
child: new Card(
child: new Text("I'm a modeless")
),
),
);
});
Future.microtask(() {
Overlay.of(context).insert(modeless);
});
}
@override
void dispose() {
modeless.remove();
super.dispose();
}
@override
Widget build(BuildContext context) {
return widget.child;
}
}