Mag*_*ian 9 android dialog ios dart flutter
在Flutter中,我在异步任务期间为loader编写简单的对话框.当我触摸外部对话被解雇时,我该如何阻止这种行为?
码
showDialog(
context: context,
builder: (_) => new Dialog(
child: new Container(
alignment: FractionalOffset.center,
height: 80.0,
padding: const EdgeInsets.all(20.0),
child: new Row(
mainAxisSize: MainAxisSize.min,
children: [
new CircularProgressIndicator(),
new Padding(
padding: new EdgeInsets.only(left: 10.0),
child: new Text("Loading"),
),
],
),
),
));
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢你提前.
Rém*_*let 35
有一个叫做barrierDismissible你可以传递的财产showDialog; 这使得对话框在外部点击时不被允许或不被允许
showDialog(
barrierDismissible: false,
builder: ...
)
Run Code Online (Sandbox Code Playgroud)
Sac*_*ure 24
If you want to prevent dialog close when back button pressed then refer below code. You have to wrap your AlertDialog in WillPopScope widget and make onWillPop property value with function which return Future.value(false).
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return WillPopScope(
onWillPop: () => Future.value(false),
child:AlertDialog(
title: new Text("Alert Title"),
content: new SingleChildScrollView(
child: Container(),),
actions: <Widget>[
new FlatButton(
child: new Text("Close"),
onPressed: () {
},
),
],
)
)
},
);
Run Code Online (Sandbox Code Playgroud)
只需添加这一行
barrierDismissible: false,
Run Code Online (Sandbox Code Playgroud)
像作为
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(
"Classes",
style: TextStyle(
fontSize: 24, color: Colors.black, fontFamily: 'intel'),
),
content: setupAlertDialoadClassList(
context, listClasses, Icons.class__outlined, 0),
);
});
Run Code Online (Sandbox Code Playgroud)
这将禁用设备导航
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return WillPopScope(
onWillPop: () async => false,
child:AlertDialog(
title: new Text("Alert Title"),
content: new SingleChildScrollView(
child: Container(),),
actions: <Widget>[
new FlatButton(
child: new Text("Close"),
onPressed: () {
},
),
],
)
)
},
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6790 次 |
| 最近记录: |