颤振力容器最小

dak*_*ojo 7 flutter flutter-layout

我正在为段控件创建自定义窗口小部件。

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,
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

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

如何迫使容器收缩?

rmt*_*zie 15

为了使容器不占用整个父对象,您需要告诉它应该将其放置在父对象中的哪个位置-默认情况下,它不知道要走到哪里,因此它填充了父= D。

最简单的方法是使用AlignCenter窗口小部件。我相信您想Container在这种情况下解决问题,但是我不确定100%。

  • 将其包装在中心即可满足我的需求。谢谢。 (4认同)
  • 尝试用 Center 包裹容器。它不起作用..它仍然包裹着整个屏幕.. (2认同)

Rag*_*azy 6

将容器包装在 Row() 小部件中会使容器缩小到此处提到的容器的子尺寸, https://github.com/flutter/flutter/issues/4949

Row(
 mainAxisAlignment: MainAxisAlignment.center,
 crossAxisAlignment: CrossAxisAlignment.center,
   children: [
     Container(
       child:button()   
     ),
   ]
),
Run Code Online (Sandbox Code Playgroud)