🐥
[Flutter]RichText、TextSpan Widgetなどの個人的まとめ
RichText とは
- RichText Widgetとはテキストの一部だけ色やサイズなどを変えられるWidget。
RichText/TextSpan クラスの使い方
-
RichText()
の中に引数text:
を持たせその引数値(TextSpan)中で、区切りたい文字ごとにTextSpan()
で囲っていく。
RichText(
text: TextSpan(
text: 'Hello ',
style: DefaultTextStyle.of(context).style,
children: const <TextSpan>[
TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
TextSpan(text: ' world!'),
],
),
)
TextSpan()内での「recognizer:」って何?
- recognizer プロパティでそれぞれの TextSpan のタップを検出できる。
テキストの指定した部分を大文字や太字にできたり、いわゆるHTML の <a> タグのような リンク などの仕組みが実現できるWidget
TextSpan(
text: 'こちら',
style: const TextStyle(
color: Colors.blue),
recognizer: TapGestureRecognizer()..onTap = (){
print('アカウント作成');
} //Tapするとprint('アカウント作成');が走るように設計
)
TextSpan()内での「recognizer:」の使い方
- 区切るために使ってた
TextSpan()
直下のTextStyle()
の引数としてrecognizer:
プロパティを持たせる -
recognizer:
プロパティの引数としてTapGestureRecognizer()を配置し、そこのonTap()を呼び出す。
以上です。間違えが見つかり次第、或いは知識がアップデートされ次第改訂していきます。🙏
Discussion