मेरे पास विभिन्न स्वरूपण के साथ पाठ की एक पंक्ति कैसे हो सकती है?
उदाहरण के लिए:
नमस्ते विश्व
जवाबों:
आपको रिचटेक्स्ट विजेट का उपयोग करना चाहिए ।
एक रिच टेक्स्ट विजेट एक TextSpan विजेट में ले जाएगा जिसमें बच्चों की एक सूची भी हो सकती है।
प्रत्येक 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)),
],
),
);
नीचे दिया गया उत्तर दो शब्दों के लिए सबसे अच्छा है और एक पैराग्राफ के लिए नहीं, यदि आपके पास एक लंबा वाक्य या एक पैराग्राफ है, जहां आपको किसी विशेष पाठ को प्रारूपित करने की आवश्यकता है, तो उपरोक्त उत्तर में @DvdWasibi द्वारा सुझाए गए अनुसार रिचटेक्स्ट का उपयोग करना पसंद करें।
मुझे अपना कोड छोटा और साफ रखना पसंद है। मैं इसे सामान्य पाठ के साथ एक पंक्ति में दो पाठ फ़ील्ड जोड़ूंगा और दूसरा बोल्ड ,
नोट: यह एक लंबे पैराग्राफ के लिए अच्छा नहीं लग सकता है हेडलाइंस आदि के लिए अच्छा लगता है।
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?'),
],
),
);