我突出显示了这个词,但不是正确的词。
在我的BuilderSuggection中,我添加了这样的代码,
title: RichText(
text: TextSpan(
text: suggestList[index].d.substring(0, query.length),
style: TextStyle(
color: Colors.black, fontWeight: FontWeight.bold),
children: [
TextSpan(
text: suggestList[index].d.substring(query.length),
style: TextStyle(color: Colors.grey))
])),
4条答案
按热度按时间lokaqttq1#
我编写了一个快速函数,它返回
TextSpan
的List。函数将查询字符串与源字符串进行匹配,逐一枚举匹配项,将源字符串切割为多个片段:匹配前、匹配后和匹配本身-使其加粗。
它旨在用于
RichText
小工具。基于您的代码的示例:
如果有帮助就告诉我。
kx1ctssn2#
根据@乔治的答案,有一个类似的功能,唯一的区别是
query
首先被空格分割,然后每个单独的单词被突出显示。我花了一段时间才使它正常工作,所以为什么不分享:其用法与@乔治's answer的用法相同:
zzwlnbp83#
很抱歉我很晚才回答,但我也想对这种“问题”给予支持。
我想找到一种不同的方法,而且我没有使用if语句,这看起来很漂亮,甚至更容易管理;我认为“建议字符串”分为3个子字符串的最坏情况:旁边2个字符串,中间1个。中间的那个,你可以想象是“粗体”的。就是这样!如果没有对应,显然意见箱里也不会显示结果。我直接复制粘贴了我用过的相同代码。
yizd12fk4#