dart - 如何调整 ShowDialog 子项的大小

标签 dart flutter

使用 showDialog(...builder: ...) ,我无法调整SomeWidget的内容大小。

发生了什么

无论我尝试将什么小部件插入到 builder都无法控制调整大小

showDialog(context: context, builder: (context) => Container(
  color: Colors.white,
  width: 10.0,
  height: 10.0,
));

无论我在 widthheight 中插入哪些值,对话框总是显示全屏。在这种情况下,Container占用所有可用空间。我在上面发布的代码将导致以下结果:

Full size screenshot显示一个 Android 屏幕,除了导航栏、状态栏和调试标签之外的所有内容都用白色填充。 (你可以看到的SafeArea comes from here)

填充

做同样的事情,但用 Padding 包围它并应用 padding作为尺寸调整。应用填充将删除 Container 侧面的部分。这是我想出的唯一成功的方法。例如。 SizedBoxConstrainedBox 没有区别。

我想看什么

两者CupertinoAlertDialogMaterial AlertDialog可以作为小部件插入到 showDialogbuilder 中,并且不会填满整个屏幕

我试图弄清楚这两个小部件的作用与我不同,但在我看来它们是 also using Container sizingConstrainedBox as sizing两者对我有用。

最佳答案

问题是:尺寸本身不足以提供在屏幕上实际呈现的信息。

Flutter 需要一种方法来知道如何在屏幕内对齐 10x10 的框。
Center 应该可以解决问题:

showDialog(
  builder: (context) {
    return Center(
      child: Container(),
    )
  }
)

AlertDialog 和类似的东西隐含地为你做同样的事情。

关于dart - 如何调整 ShowDialog 子项的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51143563/

相关文章:

ios - 拒绝问题 : "We are not able to continue because we need a demo QR code or AR marker (image) to fully assess your app features."

flutter - 如何使旋转图像填充 Flutter 中的可用空间?

flutter - 如何在Flutter中创建工作侧栏

dart - 增加构建 future 的延迟

api - 使用 Flutter 向 Flask API 发送 http Post-Request(包含图像)

flutter - 如何在 Dart 中获得小数部分

android - 在 Flutter 中使用 Webview

user-interface - Flutter TabBarView 子项因高度无限制无法渲染

dart - 我如何在容器内构建 ListView 滚动?

dart - 生成 SDK dartdoc