一、前言
虽然官方已经提供了一些简单的对话框,但是在实际业务中往往需要我们自己定义一些对话框,本文示例代码主要作用是为了在实际开发中快速参考修改的作用,代码如下:
二、代码
本段代码是一个对话框工具类,具体的对话框内容可以由外部传入。
import 'package:flutter/material.dart';
//广告对话框的工具类
class DialogAdCompat{
static final _dialogAdCompat = DialogAdCompat._internal();
factory DialogAdCompat() {
return _dialogAdCompat;
}
DialogAdCompat._internal();
//弹出广告对话框
showAdDialog(BuildContext context,
Widget child,//对话框中显示的控件
{Color backgroundColor = Colors.white//对话框背景色
}){
return showDialog<void>(
context: context,
barrierDismissible: true,
// false = user must tap button, true = tap outside dialog
builder: (BuildContext dialogContext) {
final dialogChild = Container(
padding: const EdgeInsets.all(10),
child: Center(child: child),
decoration: BoxDecoration(
color: backgroundColor,
borderRadius: new BorderRadius.circular(5.0),
),
);
return Dialog(child: dialogChild,backgroundColor: Colors.transparent,);
},
);
}
}