【发布时间】:2020-06-19 06:22:34
【问题描述】:
我想要一个容器,它收缩到它的内容。这个容器应该放在一个stack中,这样容器就没有来自外部的约束了。
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8), border: Border.all(color: Colors.black)),
child: SelectableText(
"Text",
),
),
);
这段代码让容器围绕我的文本缩小,这正是我想要的。
现在我想在我的容器中居中子小部件(文本)。我用一个 Center 小部件包装了 Text ,它将容器延伸到整个可用的垂直空间,这显然不是我的意图。 我能得到的最接近的是带有列的解决方案:
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8), border: Border.all(color: Colors.black)),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SelectableText(
"Node",
),
],
),
),
);
这会使我的文本垂直而不是水平居中,感觉这不是实现我想要的正确方法。
【问题讨论】: