如何格式化文本中的单词?

时间:2018-07-13 06:48:00

标签: android-studio dart flutter flutter-layout

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

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

我希望输出是这样的:

您已按下按钮 2

3 个答案:

答案 0 :(得分:2)

您必须使用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!'),
            ],
          ),
        )

enter image description here

答案 1 :(得分: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的答案更合适。

答案 2 :(得分:0)

您可以为其设置fontWeight。

child:new Text(
              StringUtil.FORGOT_PASSWORD,
              样式:新的TextStyle(
                  颜色:const Color(0xFF8C919E),
                  fontSize:12.0,
                  letterSpacing:0.3,
                   fontWeight:FontWeight.bold)
            ),