0

我一直在尝试AlertDialog在 Flutter 的框中制作一个按钮。但我找不到拉伸按钮容器的方法。请检查我的代码并查看下面的示例图片。

AlertDialog(
                    title: Center(child: Text("Picture")),
                    content: Column(
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                        Container(
                          width: width,
                          //height: height,
                          child: FadeInImage.memoryNetwork(
                            placeholder: kTransparentImage,
                            image: image.url,
                          ),
                        ),
                        SizedBox(
                          height: 10,
                        ),
                        InkWell(
                          onTap: () {
                            Navigator.pop(context);
                          },
                          child: Container(
                            alignment: Alignment.center,
                            height: 50,
                            width: width,
                            color: primaryColor,
                            child: Text(
                              'Okay',
                              style: TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.bold),
                            ),
                          ),
                        ),
                      ],
                    ),
                  );

在此处输入图像描述

请帮助我。我期待听到您的意见。先感谢您。

4

1 回答 1

1

的右侧、左侧和底部AlertDialog有一个逻辑像素default content padding,用于将内容与对话框的其他边缘分开。24AlertDialog

要使宽度Button适合AlertDialog宽度,您需要提供AlertDialoga paddingofzero并将其应用于paddingsButton.

我使用您的代码添加了一个示例:



     AlertDialog(
                    // change the default padding to zero
                    contentPadding: EdgeInsets.zero,
                    title: Center(child: Text("Picture")),
                    content: Column(
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                         // wrap your container with a padding widget
                         Padding(
                         padding: const EdgeInsets.all(20.0), // give a preferred padding
                         child: Container(
                         width: width,
                         //height: height,
                         placeholder: kTransparentImage,
                         image: image.url,
                            ),
                           ),
                          ),
                        SizedBox(
                          height: 10,
                        ),
                        InkWell(
                          onTap: () {
                            Navigator.pop(context);
                          },
                          child: Container(
                            alignment: Alignment.center,
                            height: 50,
                            width: width,
                            color: primaryColor,
                            child: Text(
                              'Okay',
                              style: TextStyle(
                                  color: Colors.white,
                                  fontWeight: FontWeight.bold),
                            ),
                          ),
                        ),
                      ],
                    ),
                  );
于 2020-09-16T05:14:11.620 回答