Flutter showDialog,AlertDialog背景渐变。

时间:2018-11-09 07:55:15

标签: dart flutter

对于颜色,我可以使用Select * from oracle_table where id=this_is_global_var ; 属性为dialogBackgroundColor背景设置自己的颜色。

我一直希望使用AlertDialog作为背景。我该如何使用呢? Gradient是必需的,但是我不知道该用什么包装。谁能给我想法或链接吗?

2 个答案:

答案 0 :(得分:0)

build的{​​{1}}方法中有AlertDialog。在return Dialog(child: dialogChild, shape: shape);中,它返回Dialog.build()。未经定制,无法为Material(color: _getColor(context), ...设置渐变背景。

如果需要,我可以添加示例。

P.S。或者,您可以呼叫AlertDialog并发送另一个小部件,而不是showDialog

答案 1 :(得分:0)

您可以在其中添加一个用渐变装饰的容器。例如:

class GradientDialog extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return new _GradientDialogState();
  }
}

class _GradientDialogState extends State<GradientDialog> {

  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      content: Container(
        padding: const EdgeInsets.all(8.0),
        decoration: new BoxDecoration(
            gradient: new LinearGradient(
                colors: AppColors.BG_GRADIENT,
                begin: Alignment.topCenter,
                end: Alignment.bottomCenter)),
        child: YourContentInside(),

      ),
      contentPadding: EdgeInsets.all(0.0),
    );
  }
}

打开
showDialog(
    context: context,
    barrierDismissible: true,
    builder: (BuildContext context) {
      return GradientDialog();
    });