flutter - 如何在堆栈内的缩小容器中正确居中文本小部件
问题描述
我想要一个缩小到它的内容的容器。这个容器应该放在一个堆栈中,这样容器就没有来自外部的约束。
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",
),
],
),
),
);
这使我的文本垂直居中而不是水平居中,并且感觉这不是实现我想要的正确方法。
解决方案
包裹在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"),
),
),
)
推荐阅读
- python - 如何为回归问题定义 keras 的 input_shape?
- android - Android:滚动条轨道比 RecyclerView 中的拇指更薄
- mysql - 如何在mysql中查询多个表
- python - 查找包含`data-superid="picture-link" 的元素的最佳方法?
- guacamole - Apache Guacamole XRDP 桌面显示有时模糊
- node.js - 从 AWS Lambda 生成的 PDF 文件包含所有空白页
- django - 与 2 个不同的站点共享域
- python - 无法理解 python 代码中的这些错误和输出
- python - AttributeError:“tensorflow.python.framework.ops.EagerTensor”对象没有属性“ravel”
- java - 将字符串值添加到 Java | 安卓工作室