如何显示带有透明背景覆盖的对话框?

时间:2019-05-10 07:07:13

标签: dart flutter

目前我有一个简单的对话框,但是它的背景覆盖层有些透明,我想使其完全透明吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

对于完全透明的对话框,您可以设置simple dialog的这些属性

尝试一下:

elevation: 0.0,
backgroundColor: Colors.transparent,

这对我有用,请检查

showDialog(context: context, child:
      new SimpleDialog(
        backgroundColor: Colors.transparent,
        elevation: 0.0,
        title: new Text("Simple Dialog"),
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.only(left:24.0),
            child: Text("Simple dialog example"),
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.end,
            children: <Widget>[
              FlatButton(onPressed: () => Navigator.pop(context), child: Text("CANCEL")),
              FlatButton(onPressed: () => Navigator.pop(context), child: Text("ACCEPT")),
            ],
          ),
        ],

      )
    );

答案 1 :(得分:0)

找到它,没有直接的属性可以做到这一点。但是如果您确实想实现此目的以更改背景叠加层的颜色,则可以直接在Dialog类中通过抖动编辑barrierColor属性。

此属性实际上并不接受透明颜色,因此您可以将其设置为不透明度为0.01的黑色,以完成相同的工作。