我如何动态更改文本小部件中段落中某些单词的颜色

How can i dynamically change color of certain words of a paragraph in a Text Widget in flutter

假设给你两个字符串。一个包含要着色的单词,另一个包含段落。示例:

列出单词 =["cow","milk","cattle" ];

字符串段落= “牛,或奶牛(雌性)和公牛(雄性),是大型驯化的偶蹄食草动物。它们是牛亚科的重要现代成员,是 Bos 属中分布最广的物种,并且最常被归类为金牛座。”;

我需要段落中的那些词是彩色的或可链接的文本。请帮忙

Such As like the picture

您需要拆分段落中的所有单词,然后在检查列表后为每个单词动态分配 Richtext > TextSpan。

结帐Highlight Text。 这是一个小例子,你可以如何达到你想要的效果。

Map<String, HighlightedWord> words = {
    "cow": HighlightedWord(
        textStyle: textStyle,
    ),
    "milk": HighlightedWord(
       
        textStyle: textStyle,
    ),
    "cattle": HighlightedWord(
       
        textStyle: textStyle,
    ),
};

你的文字

TextHighlight(
    text: text, // Your text
    words: words, // Your highlighted words
);

像这样使用 RichText 和 TextSpan

RichText( 
  text: TextSpan( 
    style: TextStyle(color: Colors.black, fontSize: 16), 
    children: [ 
      TextSpan(text: "I accept the "), 
      TextSpan(text: "term & condition", style: TextStyle(color: Colors.blue)), 
      TextSpan(text: "and certify that answer are true."), 
    ], 
  ), 
),