我想要一个容器,该容器缩小为其内容。该容器应放置在堆栈中,以使该容器不受外界的约束。
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",
),
],
),
),
);
这使我的文本垂直居中,而不是水平居中,并且感觉不到这是实现我想要的正确方法。
答案 0 :(得分:1)
包装在Center
小部件中
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Center(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.black),
),
child: SelectableText("Text"),
),
),
)