Как я могу иметь строку текста с различным форматированием?
например:.
Привет Мир
Как я могу иметь строку текста с различным форматированием?
например:.
Привет Мир
Вы должны использовать виджет RichText.
Виджет RichText примет вид TextSpan, который также может иметь список дочерних TextSpans.
Каждый виджет TextSpan может иметь другой TextStyle.
Вот пример кода для рендеринга: Привет Мир
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)),
],
),
);
Мне нравится, чтобы мой код был коротким и чистым, вот как я могу добавить два текстовых поля подряд, одно с обычным шрифтом, а другое жирным шрифтом,
Примечание: это может выглядеть не очень хорошо, если длинный абзац выглядит хорошо для заголовков и т.д.
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?'),
],
),
);