異なるフォーマットのテキスト行を作成するにはどうすればよいですか?
例えば:
Hello World
回答:
リッチテキストウィジェットを使用する必要があります。
RichTextウィジェットは、子TextSpansのリストを持つこともできるTextSpanウィジェットを取り込みます。
各TextSpanウィジェットは、異なるTextStyleを持つことができます。
レンダリングするサンプルコードは次のとおりです。HelloWorld
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)),
],
),
);
以下の回答は、段落ではなく、いくつかの単語に最適です。特定のテキストをフォーマットする必要がある長い文または段落がある場合は、上記の回答で@DvdWasibiによって提案されているようにリッチテキストを使用することをお勧めします
コードを短くクリーンに保つのが好きです。これは、2つのテキストフィールドを1つは通常のフォントで、もう1つは太字で行に追加する方法です。
注:これは、長い段落では見栄えが悪く、見出しなどでは見栄えがよくない場合があります。
Row(children: <Widget>[
Text("Hello"),
Text("World", style: TextStyle(fontWeight: FontWeight.bold))
])
`
あなたは「ハローとして所望の出力を得るべきである世界」
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?'),
],
),
);