我希望我的容器根据其内容(在本例中为文本)具有不同的大小,如果一个用户编写较长的文本,则容器会更大,如果另一个用户编写较短的文本,则容器会更小。
可能吗?如果没有,还有其他方法吗?
谢谢
我希望我的容器根据其内容(在本例中为文本)具有不同的大小,如果一个用户编写较长的文本,则容器会更大,如果另一个用户编写较短的文本,则容器会更小。
可能吗?如果没有,还有其他方法吗?
谢谢
您不需要分配width
或分配height
给,Container
因此它将根据以下内容调整大小child
:
Container(
color: Colors.red,
child: const Text("Hi there111"),
)
如果您想控制最大宽度和最大高度,您将使用Container
'sconstraints
字段
Container(
color: Colors.red,
constraints: const BoxConstraints(
maxWidth: 200,
),
child: const Text("Hi there11122222222"),
)
当然你可以给它minWidth
和minHeight
in BoxConstraints
。
结果当你在maxWidth
结果当您的文本太长以至于超出 的范围时maxWidth
,在这种情况下高度会自动调整大小:
您还可以添加填充以获得更好的外观:
Container(
padding: EdgeInsets.all(20),
color: Colors.red,
constraints: const BoxConstraints(
maxWidth: 200,
),
child: const Text("Hi there11122222222222222222"),
)
但是对于其他类型的小部件,除了像这样 Text
包装它们会更安全之外,请注意小部件:FittedBox
Text
Container(
padding: EdgeInsets.all(20),
color: Colors.red,
constraints: const BoxConstraints(
maxWidth: 200,
),
child: FittedBox(
fit: BoxFit.fill,
child: const Text("asfasfasfasfasf")
),
)