我在圆形容器内有一个文本,该文本来自API。因此,我无法控制文本的长度。我用FittedBox缩小了容器中的文本,尽管显示了多长时间。
Container(
height: 44,
width: 44,
padding: EdgeInsets.all(3),
alignment: Alignment.center,
child: Row(
children: [
Flexible(
child: FittedBox(
child: Text('Best Seller'),
),
),
],
),
decoration: BoxDecoration(shape: BoxShape.circle, color: Color(0xFFF37C43)),
)
我的问题是如何在换行的同时缩小文本的所有单词。我曾考虑过使用Column并根据文本的每个单词生成子窗口小部件。但这似乎不是很直观。如果需要的话,我愿意更改布局设计。
答案 0 :(得分:1)
使用自动调整大小文字。这是链接 https://pub.dev/packages/auto_size_text
答案 1 :(得分:0)
Container(
height: 44,
width: 44,
padding: EdgeInsets.all(3),
alignment: Alignment.center,
child: Wrap(
children: [
Text('Best Seller', style: TextStyle(fontSize: 10),),
],
),
decoration:
BoxDecoration(shape: BoxShape.circle, color: Color(0xFFF37C43)),
),
答案 2 :(得分:0)
尝试设置与单词长度兼容的 fontSize
。例子:
Text(
myString,
style: TextStyle(
fontSize: myString.length > 60? 30: myString.length > 40? 40 : 50,
),
)