gpt4 book ai didi

layout - 在Flutter中,如何使用FittedBox调整行内文本的大小?

转载 作者:IT王子 更新时间:2023-10-29 07:04:15 26 4
gpt4 key购买 nike

我有一行,每边都有一个图标,然后是中间有一个图标的文本:

@override
Widget build(BuildContext context) {
return Row(
children: [
Icon(Icons.arrow_back),
Expanded(child: SizedBox()),
Icon(Icons.account_box),
Text("Some Text Here ", maxLines: 1), // ➜ This is the text.
Expanded(child: SizedBox()),
Icon(Icons.arrow_forward),
],
);
}

当文本变得足够大以填满整个空间时,我希望 FittedBox 变小。所以我尝试了这个:

      FittedBox(child: Text("Some Text Here. More. More. More. More. More. More. More. More. ", maxLines: 1)), 

它不起作用(溢出)。我认为问题是 Row 没有告诉 FittedBox 它可能拥有的最大尺寸。我考虑过将 FittedBoxExpandedIntrinsicWidthUnconstrainedBoxFlexible对齐,无济于事。

我该如何解决这个问题?

更新:我写了一篇可以帮助我解决这个问题的文章:https://medium.com/flutter-community/flutter-the-advanced-layout-rule-even-beginners-must-know-edc9516d1a2

最佳答案

据我了解,您需要根据文本长度将文本放入行内。

工作代码:

Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(Icons.arrow_back),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(Icons.account_box),
Flexible(
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
" Text HereSome Text Here Text HereSomext HereSome TText HereSome Text HereSome Text HereSome Text HereSome Text HereSome TText HereSome Text HereSome Text HereSome",
maxLines: 1,
),
),
)
],
),
),
Icon(Icons.arrow_forward),
],
);

输出,长文本:

enter image description here

输出,短文本:

enter image description here

关于layout - 在Flutter中,如何使用FittedBox调整行内文本的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54889681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com