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
相关产品推荐
相关产品推荐

