我正在为细分控件创建自定义窗口小部件。
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,
),
),
);
我希望容器缩小到最小尺寸以容纳其子容器。但是,当我将小部件包含在父级中时,它将扩展以填充父级。这是可见的,因为装饰的边框大于按钮。
如何强制容器收缩?
答案 0 :(得分:7)
要使容器不占用整个父对象,您需要告诉它应将其放置在父对象中的哪个位置-默认情况下,它不知道要去哪里,因此会填充父= D。>
最简单的方法是使用Align
或Center
小部件。我相信在这种情况下,您希望将其放在Container
周围,但我不确定100%。
答案 1 :(得分:1)
在Row()小部件中包装容器,使容器缩小到此处的Container的子尺寸, https://github.com/flutter/flutter/issues/4949
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
child:button()
),
]
),
答案 2 :(得分:0)
晚些时候参加聚会了……我还是很陌生,所以请放轻松,但是我认为使用Align
或Center
作为Parent
,然后设置Width
的{{1}}和Height
值,则父级应缩小到子级。 = D