首页 > 解决方案 > 将容器缩小到较小的孩子而不是扩大到填充父母

问题描述

我正在为段控件创建一个自定义小部件。

return Padding(
  padding: const EdgeInsets.symmetric(vertical: 20.0),
  child: Container(
    decoration: BoxDecoration(border: Border.all(color: Colors.blue)),
    child: Row(
      mainAxisSize: MainAxisSize.min,
      children: buttons,
    ),
  ),
);

我希望容器缩小到最小尺寸来容纳它的孩子。但是,当我将小部件包含在父级中时,它会扩展以填充父级。这是可见的,因为装饰的边框比按钮大。

如何强制容器收缩?

标签: flutterflutter-layout

解决方案


为了让容器不占用整个父容器,您需要告诉它它应该放在父容器中的什么位置——默认情况下,它不知道去哪里,所以它填充父容器 =D。

最简单的方法是使用一个Align或一个Center小部件。我相信你想Container在这种情况下把它放在你的周围,但我不是 100% 确定。


推荐阅读