首页 > 解决方案 > 颤振移除底部填充容器

问题描述

我创建了一个自定义对话框,但是当我在底部添加 2 个按钮时,我仍然有一个填充,我该如何删除它?

这是我的代码

  contentBox(context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(20),
      child: Container(
        color: Colors.white,
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Container(
              padding: EdgeInsets.all(20),
              child: Column(
                children: [
                  Text(
                    widget.title,
                    style: TextStyle(fontSize: 23, fontWeight: FontWeight.w600),
                    textAlign: TextAlign.center,
                  ),
                  SizedBox(height: 15),
                  Text(
                    widget.descriptions,
                    style: TextStyle(fontSize: 16),
                    textAlign: TextAlign.center,
                  ),
                ],
              ),
            ),
            Row(
              children: <Widget>[
                Expanded(
                  child: RaisedButton(
                    child: Text('Reject'),
                    onPressed: () => null,
                  ),
                ),
                Expanded(
                  child: RaisedButton(
                    color: Colors.amber,
                    child: Text('Approve'),
                    onPressed: () => null,
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }

结果 :

在此处输入图像描述

PS:如果有优化,请告诉我,因为我开始颤抖

标签: fluttercontainerspadding

解决方案


这是因为RaisedButton有一个固定的高度。将小部件包裹在RaisedButton内部Container并给它一个高度值。像这样应该没问题

Expanded(
    child: Container(
      height: 48,
      child: RaisedButton(
        child: Text('Reject'),
        onPressed: () => null,
      ),
    ),
  ),

对你的两个按钮执行此操作这是输出:

在此处输入图像描述

此外,如果您想创建一个警报框,最好在小部件中使用颤振构建,例如AlertDialog如果您想要 iOS 样式的警报框,那么您可以使用CupertinoAlertDialog

AlertDialog在这个视频中得到了很好的解释


推荐阅读