Flutter弹窗的简单使用
    		       		warning:
    		            这篇文章距离上次修改已过442天,其中的内容可能已经有所变动。
    		        
        		                
                
import 'package:flutter/material.dart';
 
void main() => runApp(MyApp());
 
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}
 
class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}
 
class _HomePageState extends State<HomePage> {
  // 弹窗显示控制
  bool _showDialog = false;
 
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('弹窗示例'),
      ),
      body: Center(
        child: RaisedButton(
          child: Text('点击显示弹窗'),
          onPressed: () => setState(() => _showDialog = true),
        ),
      ),
      // 使用SimpleDialog作为弹窗内容
      dialog: _showDialog ? SimpleDialog(
        title: Text('Simple Dialog'),
        children: <Widget>[
          SimpleDialogOption(
            child: Text('选项 1'),
            onPressed: () {
              Navigator.pop(context); // 关闭弹窗
              setState(() => _showDialog = false);
            },
          ),
          SimpleDialogOption(
            child: Text('选项 2'),
            onPressed: () {
              Navigator.pop(context);
              setState(() => _showDialog = false);
            },
          ),
        ],
      ) : null,
    );
  }
}这段代码展示了如何在Flutter应用中使用SimpleDialog作为弹窗,并在用户选择后关闭弹窗。_showDialog变量用于跟踪是否应该显示弹窗。当用户点击按钮时,_showDialog设置为true,并重新调用build方法,在dialog属性中展示弹窗。每个SimpleDialogOption都有一个onPressed回调,用于关闭弹窗并重置_showDialog变量。
评论已关闭