我想在带有下图所示弹出窗口的内部创建一个表单:popup
我该怎么办?
干得好!showDialog使用WidgetBuilder作为参数,因此您可以返回任何小部件。
import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp(home: new MyApp())); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { final _formKey = GlobalKey<FormState>(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Flutter"), ), body: Center( child: RaisedButton( onPressed: () { showDialog( context: context, builder: (BuildContext context) { return AlertDialog( content: Stack( overflow: Overflow.visible, children: <Widget>[ Positioned( right: -40.0, top: -40.0, child: InkResponse( onTap: () { Navigator.of(context).pop(); }, child: CircleAvatar( child: Icon(Icons.close), backgroundColor: Colors.red, ), ), ), Form( key: _formKey, child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ Padding( padding: EdgeInsets.all(8.0), child: TextFormField(), ), Padding( padding: EdgeInsets.all(8.0), child: TextFormField(), ), Padding( padding: const EdgeInsets.all(8.0), child: RaisedButton( child: Text("Submitß"), onPressed: () { if (_formKey.currentState.validate()) { _formKey.currentState.save(); } }, ), ) ], ), ), ], ), ); }); }, child: Text("Open Popup"), ), ), ); } }
希望对您有帮助!