dart - showGeneralDialog 未按预期工作
问题描述
代码:
void showNow() {
showGeneralDialog(
context: context,
pageBuilder: (BuildContext buildContext, Animation<double> animation, Animation<double> secondaryAnimation) {
return Container(
width: 200.0,
height: 200.0,
color: Colors.orange,
);
},
barrierDismissible: true,
barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: Colors.black,
transitionDuration: const Duration(milliseconds: 200),
);
}
但是这个对话框占用了整个空间,而不是我使用的width
200.0 height
。我尝试包装Container
,Scaffold
但是然后barrierDismissible
似乎barrierColor
不起作用。我也改变了他们的价值观,但没有运气。
解决方案
将您的容器包装在 Wrap Widget 中:
void showNow() {
showGeneralDialog(
context: context,
pageBuilder: (BuildContext buildContext, Animation<double> animation,
Animation<double> secondaryAnimation) {
return Wrap(
children: <Widget>[
Container(
width: 200.0,
height: 200.0,
color: Colors.orange,
),
],
);
},
barrierDismissible: true,
barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: Colors.black,
transitionDuration: const Duration(milliseconds: 200),
);
}
推荐阅读
- django - 为什么 Django FileInput 小部件从不呈现值?是否存在安全风险?
- google-cloud-platform - 如何重置 OAuth 同意屏幕?
- java - 从对话框开始新的活动
- docker - 连接期间出错:获取“http://direct.labs.play-with-docker.com:2375/v1.24/containers/json”:EOF
- excel - Excel 每 60 行
- android - Android Studio - 按钮 onClick() 不起作用
- amazon-web-services - 使用 Gremlin 和 Amazon Neptune 进行顶点模式分析和匹配
- c# - ExRam Gremlinq,需要一个关于重复的解释,直到,
- karate - 将空手道版本从 0.9.5 升级到 1.1.0 后验证 JS 函数时出错
- android - Flutter中如何在地图上正确显示3000个坐标点?