Flutter показывает полноэкранный диалог
У меня есть следующая функция для отображения диалогового окна. Я использовал медиа-запрос, чтобы установить его на 100%, но когда он запускается, я все еще вижу белое поле вокруг диалогового окна.
Как заархивировать полноэкранный диалог?
Future<void> showLoadingDialog(BuildContext context, GlobalKey key) async {
Widget myDialog = SimpleDialog(
key: key,
backgroundColor: Colors.black54,
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
CircularProgressIndicator(),
SizedBox(height: 10,),
Text("Please Wait....",style: TextStyle(color: accentColor),)
]),
)
]);
return showDialog<void>(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return myDialog;
});
}
1 ответ
Вы можете сделать это с помощью виджета showGeneralDialog.
showGeneralDialog(
context: context,
barrierDismissible: true,
barrierLabel:
MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: Colors.black45,
transitionDuration: const Duration(milliseconds: 200),
pageBuilder: (BuildContext buildContext, Animation animation,
Animation secondaryAnimation) {
return Center(
child: Container(
width: MediaQuery.of(context).size.width - 10,
height: MediaQuery.of(context).size.height - 80,
padding: EdgeInsets.all(20),
color: Colors.white,
child: Column(
children: [
RaisedButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text(
"Save",
style: TextStyle(color: Colors.white),
),
color: const Color(0xFF1BC0C5),
)
],
),
),
);
});