flutter 中showdialog 做显示隐藏
时间: 2023-09-01 09:06:26 浏览: 143
要在Flutter中使用showDialog来显示和隐藏对话框,你需要在StatefulWidget中声明一个变量来控制对话框的可见性并使用setState()方法来更新该变量。以下是一个简单的示例代码:
```
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
bool _isVisible = false;
void _toggleDialog() {
setState(() {
_isVisible = !_isVisible;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
ElevatedButton(
onPressed: _toggleDialog,
child: Text('显示/隐藏对话框'),
),
Visibility(
visible: _isVisible,
child: AlertDialog(
title: Text('提示'),
content: Text('这是一个对话框'),
actions: [
TextButton(
onPressed: _toggleDialog,
child: Text('关闭'),
),
],
),
),
],
);
}
}
```
在这个例子中,我们声明了一个名为_isVisible的布尔变量来控制对话框的可见性。当用户点击按钮时,_toggleDialog方法会被调用,该方法通过调用setState()方法来更新_isVisible变量的值,从而更新对话框的可见性。我们使用Visibility小部件来控制对话框的可见性,如果_isVisible为true,则对话框会被显示,否则不显示。我们使用AlertDialog小部件来创建一个对话框。
阅读全文