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

Flutter中TextOverflow.ellipsis失效求助:长昵称无法显示省略号

解决TextOverflow.ellipsis不生效的问题

问题根源在于你的Text组件嵌套在Row中,默认情况下Row不会限制子组件的宽度,导致Text可以无限拉伸,TextOverflow.ellipsis的截断逻辑无法触发。

你只需要用Expanded组件包裹住Text,让它在所在的Row中占据剩余可用空间,给Text明确的宽度限制,省略号效果就能正常生效了。

修改后的核心代码片段:

Padding(
  padding: const EdgeInsets.only(right: 20.0),
  child: Row(
    children: [
      Expanded( // 添加这层Expanded
        child: Text(
          'WWWWWWWWWWWW',
          textAlign: TextAlign.center,
          overflow: TextOverflow.ellipsis,
          style: GoogleFonts.roboto(
              textStyle: TextStyle(
            fontSize: 25,
            fontWeight: FontWeight.w700,
            color: Colors.black87.withOpacity(0.7),
          )),
        ),
      ),
      const SizedBox(width: 5.0),
      !UserData.isVerifiedAccount
          ? Icon(
              Icons.star_rounded,
              color: Colors.yellow.shade700,
              size: 30,
            )
          : Container(),
    ],
  ),
),

如果这个Row里还有需要优先展示的组件,也可以用Flexible替代Expanded——两者的区别是Expanded会强制占满剩余空间,Flexible只会占据自身所需的空间,但同样能限制子组件的最大宽度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:15:33