Flutter中ReadMoreText主文本样式无法按主题设置的问题求助
解决ReadMoreText主文本样式不生效的问题
方法1:使用正确的参数名设置主文本样式
如果你使用的是readmore包,主文本的样式需要通过textStyle参数设置(而非你代码里的style),修改后代码如下:
ReadMoreText( MyStrings.productDescriptionDemo, trimLines: 3, trimMode: TrimMode.Line, trimExpandedText: 'Read less', trimCollapsedText: 'Read more', moreStyle: Theme.of(context).textTheme.headlineSmall, lessStyle: Theme.of(context).textTheme.headlineSmall, textStyle: Theme.of(context).textTheme.labelLarge, // 替换为textStyle参数 )
方法2:自定义Builder完全控制样式
若上述方法仍不生效,可通过builder参数自定义文本构建逻辑,直接指定主文本样式:
ReadMoreText( MyStrings.productDescriptionDemo, trimLines: 3, trimMode: TrimMode.Line, trimExpandedText: 'Read less', trimCollapsedText: 'Read more', moreStyle: Theme.of(context).textTheme.headlineSmall, lessStyle: Theme.of(context).textTheme.headlineSmall, builder: (context, text, collapsed, icon) { return Text( text, style: Theme.of(context).textTheme.labelLarge, // 直接设置目标样式 maxLines: collapsed ? 3 : null, overflow: collapsed ? TextOverflow.ellipsis : null, ); }, )
方法3:更新readmore包版本
如果你的包版本较旧,可能存在参数逻辑问题,执行命令更新包:
flutter pub upgrade readmore
内容的提问来源于stack exchange,提问作者user22362195
相关产品推荐
相关产品推荐

