如何格式化(粗体)文本中的单词?

Posted

技术标签:

【中文标题】如何格式化(粗体)文本中的单词?【英文标题】:How can i format(bold) a word within a text? 【发布时间】:2018-12-21 11:36:35 【问题描述】:

在下面的代码中,我想将“$_counter”的值加粗。如何做到这一点?

new Text(
  'You have pushed the button $_counter time$_counter > 1
      ? 's'
      : ''',
  style: new TextStyle(fontSize: fontSize),
  textAlign: TextAlign.center,
),

我希望输出是这样的:

您已按下按钮 2

【问题讨论】:

【参考方案1】:

你必须使用RichTextfor那个

new RichText(
textAlign: TextAlign.center,
          text: new TextSpan(
            style: TextStyle(color: Colors.black),
            children: <TextSpan>[
              new TextSpan(text: 'You have pushed the button '),
              new TextSpan(text: '$_counter', style: new TextStyle(fontWeight: FontWeight.bold)),
              new TextSpan(text: ' time!'),
            ],
          ),
        )

【讨论】:

我已经提到了这个例子,但我想知道如何在我的特定类型的代码中应用它! 您能帮我关闭更新代码中的所有大括号吗? 确定你的问题是什么? 还有一个问题,如何在上面的代码中添加textAlign? 富文本中有一个属性我再次更新了我的答案【参考方案2】:

您可以尝试连续添加文本小部件来实现此目的。

final prefixText = Text('You have clicked the button');

final counterText = Text(' $_counter', style: TextStyle(fontWeight: FontWeight.bold),);

final suffixText = Text(' times');

return Scaffold(
      body: Center(
        child: Row(
          children: <Widget>[prefixText, counterText, suffixText],
        ),
      ),
    );

注意:虽然您使用它获得了所需的输出,但我认为@Raouf Rahiche 的答案更合适。

【讨论】:

对不起,如果我听起来很傻,但我想弄清楚在整个文件中定义 prefixText、counterText 和 suffixText 的位置? 你可以在 'build' 方法中定义它,最终返回 Scaffold。【参考方案3】:

你可以为它设置 fontWeight。

孩子:新文本( StringUtil.FORGOT_PASSWORD, 样式:新文本样式( 颜色:常量颜色(0xFF8C919E), 字体大小:12.0, letterSpacing: 0.3,fontWeight: FontWeight.bold), ),

【讨论】:

以上是关于如何格式化(粗体)文本中的单词?的主要内容,如果未能解决你的问题,请参考以下文章

Ag Grid 部分单元格格式 - 例如如何在单元格中设置一些文本样式 - 粗体、斜体、彩色(但不是其他文本)

如何在颤动中使用粗体、斜体等格式化程序制作文本编辑器?

如何修改 QItemDelegate 以支持简单的文本格式?

如何使用 Javascript 获取选定文本中的所有 HTML 选择标签?

如何在 SwiftUI 的同一行中使用粗体和普通文本

如何在不丢失格式的情况下更改 Word.Range 文本