以文本为子项的 Flutter 容器根据文本值改变大小

问题描述 投票:0回答:2

我有一个容器小部件,其中一个文本小部件作为子部件,用于设置我的应用程序栏的标题。问题是,如果文本小部件的值直接作为字符串给出,或者从对象动态设置,则容器采用不同的大小。

以下是一些示例:

场景一:

title: Container(
  color: Colors.green,
  child: Text(
    'BUS 82',
    style: TextStyle(
    color: Colors.white,
    fontSize: SizeConfig.safeHeight * 0.03),
  ,
),

output for scenario 1

场景2:

   title: Container(
 color: Colors.green,
 child: Text(
  recipe.title,
  style: TextStyle(
  color: Colors.white,
  fontSize: SizeConfig.safeHeight * 0.03),
 ),

),

其中recipe是一个包含字符串标题的对象。

Output scenario 2

有人可以帮助我更好地理解为什么容器的大小会发生变化,具体取决于文本的值是硬编码的还是从对象接收的。配方对象在小部件的构造函数中接收。

android ios flutter mobile widget
2个回答
0
投票

您可以使用 FittedBox 小部件
适配盒小部件完整细节


-1
投票

在您的情况下,如果您想要一个不改变大小的容器,您可以使用:

  1. SizedBox——指定宽度。如果您知道字符串的最大宽度,请使用此小部件

  2. Expanded——容器将扩展到最大宽度

© www.soinside.com 2019 - 2024. All rights reserved.