首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成List<TextSpan>动态?

如何生成List<TextSpan>动态?
EN

Stack Overflow用户
提问于 2022-05-06 08:44:42
回答 1查看 72关注 0票数 0

大家早上好,

我有不同长度的单词,我需要用当前单词的每个字母创建一个动态的TextSpan列表。

我有个例子可以用截图来解释我的意思

代码语言:javascript
复制
  var txtColor = 'a';
  var word = 'rate'.split('');

  levlup() {
    List<TextSpan> textSpans = <TextSpan>[
      TextSpan(text: word[0], style: TextStyle(color: txtColor == word[0] ? Colors.red: Colors.black)),
      TextSpan(text: word[1], style: TextStyle(color: txtColor == word[1] ? Colors.red: Colors.black)),
      TextSpan(text: word[2], style: TextStyle(color: txtColor == word[2] ? Colors.red: Colors.black)),
      TextSpan(text: word[3], style: TextStyle(color: txtColor == word[3] ? Colors.red: Colors.black)),

    ];
    return textSpans;
  }

  Widget build(BuildContext context) {

    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            RichText(
              text: TextSpan(
                style: TextStyle(color: Colors.black, fontSize: 18),
                children: levlup(),
              ),
            )
          ],
        ),
      ),
    );
  }
}

在这里输入图像描述

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-06 08:54:58

像这样吗?

代码语言:javascript
复制
List<TextSpan> textSpans = word.map((c) => TextSpan(text: c, style: TextStyle(color: txtColor == c ? Colors.red: Colors.black))).toList();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72138636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档