我想知道是否有一种方法可以禁用对话框的阴影/覆盖效果?基本上,我想让对话框看起来像这张图片右侧的样子:
我尝试的最佳方法是使用一个包含自定义对话框的堆栈,然后切换以显示或隐藏它们,但我遇到了问题,即难以滚动每个自定义对话框自己的 ListView,而不会弄乱其他对话框。我知道这违反了Material Design指南,但我正在尝试复制dribble.com上的UI。
谢谢!
编辑:
我通过编辑showGeneralDialog
方法几乎实现了此效果,但仍然存在高程阴影:
await showGeneralDialog(
context: context,
pageBuilder: (BuildContext buildContext,
Animation<double> animation,
Animation<double> secondaryAnimation) {
return SafeArea(
child: Builder(builder: (context) {
return AlertDialog(
content: Container(
color: Colors.white,
width: 150.0,
height: 150.0,
child: Center(child: Text("Testing"))));
}),
);
},
barrierDismissible: true,
barrierLabel: MaterialLocalizations.of(context)
.modalBarrierDismissLabel,
barrierColor: null,
transitionDuration:
const Duration(milliseconds: 150));
编辑2:这是一个图片,用于说明上述代码的更改,我已经成功取消了暗黑覆盖,但对话框上仍然有提升,我似乎无法摆脱它:
编辑3:我认为如果我能够在showGeneralDialog
的Builder
中更改AlertDialog
,那么我就可以让它起作用,但我很难放入一些既是Material
又不占整个屏幕的东西。