直接上代码
import 'package:flutter/material.dart';
class ShowDialog extends Dialog {
Widget child;
ShowDialog({Key key, this.child}) : super(key: key);
@override
Widget build(BuildContext context) {
return Material(
//透明层
type: MaterialType.transparency,
child: Stack(
children: <Widget>[
InkWell(
onTap: (){
Navigator.pop(context);
},
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
),
),
child//内容
],
)
);
}
}
使用方法
//先引入上面的地址
_showTips() {
showDialog(
context: context,
barrierDismissible: true,
builder: (BuildContext context) {
return ShowDialog(//这里引用
child:Text("这里就可以随便弹了,居中先写 center嵌套就好了")
);
});
}
//之后调用_showTips就OK了
只是个基础模板,好处就是可以任意扩展,丰富内容