You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Row布局:实现文本自动换行且右侧Widget紧跟文本

解决Flutter Row中文本换行且右侧组件紧跟的问题

把原来的Expanded替换成Flexible,并调整Row的对齐方式即可实现需求,修改后的代码如下:

Row(
  crossAxisAlignment: CrossAxisAlignment.start,
  children: [
    Flexible(
      child: Text(
        'This is very long long text that will wrap when it reaches the available space',
        softWrap: true,
      ),
    ),
    SearchIcon(),
    CrossIcon(),
    ZeroIcon(),
  ],
)

关键说明:

  • 替换Expanded为Flexible:Expanded会强制文本占据Row内所有剩余空间,导致右侧图标被推到最右侧;Flexible默认采用FlexFit.loose适配模式,仅让文本占据自身所需宽度,当文本超出可用空间时自动换行,同时右侧图标会紧跟在文本的右侧。
  • 设置CrossAxisAlignment.start:保证文本换行后,图标与文本的顶部对齐,避免图标出现垂直居中的错位情况。
  • softWrap属性:Text组件默认softWrap为true,显式声明可让代码逻辑更清晰,确保文本能正常自动换行。

内容的提问来源于stack exchange,提问作者Fran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:26:14