Как сделать строку текста с другим форматированием?
например:
Привет мир
Вам следует использовать виджет RichText .
Виджет RichText принимает виджет TextSpan, который также может иметь список дочерних TextSpans.
Каждый виджет TextSpan может иметь свой TextStyle .
Вот пример кода для рендеринга: Hello World
var text = new RichText(
text: new TextSpan(
// Note: Styles for TextSpans must be explicitly defined.
// Child text spans will inherit styles from parent
style: new TextStyle(
fontSize: 14.0,
color: Colors.black,
),
children: <TextSpan>[
new TextSpan(text: 'Hello'),
new TextSpan(text: 'World', style: new TextStyle(fontWeight: FontWeight.bold)),
],
),
);
Приведенный ниже ответ лучше всего подходит для пары слов, а не для абзаца.Если у вас есть длинное предложение или абзац, в котором вам нужно отформатировать конкретный текст, предпочитайте использовать RichText, как это было предложено @DvdWasibi в приведенном выше ответе
Мне нравится, чтобы мой код был коротким и чистым, вот как я бы сделал это, добавив два текстовых поля в строку, одно с обычным шрифтом, а другое жирным ,
Примечание. Это может не выглядеть хорошо, поскольку длинный абзац подходит для заголовков и т. Д.
Row(children: <Widget>[
Text("Hello"),
Text("World", style: TextStyle(fontWeight: FontWeight.bold))
])
`
и вы должны получить желаемый результат как «Hello World »
return RichText( text: TextSpan( text: 'Can you ', style: TextStyle(color: Colors.black), children: <TextSpan>[ TextSpan( text: 'find the', style: TextStyle( color: Colors.green, decoration: TextDecoration.underline, decorationStyle: TextDecorationStyle.wavy, ), recognizer: _longPressRecognizer, ), TextSpan(text: 'secret?'), ], ), );
источник