对于颜色,我可以使用dialogBackgroundColor属性为AlertDialog背景给予我自己的颜色。我正在寻找使用Gradient作为我的背景。我怎么能使用它?DecoratedBox是需要的东西,但我不知道该用什么 Package 。任何人都可以给给予我同样的想法或链接吗?
dialogBackgroundColor
AlertDialog
Gradient
DecoratedBox
krugob8w1#
您可以在容器中添加一个容器,容器将被渐变装饰。例如:
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( constraints: const BoxConstraints(), 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(); });
型
kq0g1dla2#
在AlertDialog的build方法中有return Dialog(child: dialogChild, shape: shape);。在Dialog.build()中-它返回Material(color: _getColor(context), ...。没有自定义就无法为AlertDialog设置渐变背景。如果需要的话,我可以添加一些例子。P.S.或者您可以调用showDialog并发送另一个小部件而不是AlertDialog。
build
return Dialog(child: dialogChild, shape: shape);
Dialog.build()
Material(color: _getColor(context), ...
showDialog
2条答案
按热度按时间krugob8w1#
您可以在容器中添加一个容器,容器将被渐变装饰。例如:
字符串
打开它与
型
kq0g1dla2#
在
AlertDialog
的build
方法中有return Dialog(child: dialogChild, shape: shape);
。在Dialog.build()
中-它返回Material(color: _getColor(context), ...
。没有自定义就无法为AlertDialog
设置渐变背景。如果需要的话,我可以添加一些例子。
P.S.或者您可以调用
showDialog
并发送另一个小部件而不是AlertDialog
。