simple_rich_text
सरल धनात्मक पाठ अक्षरों का उपयोग करके Flutter में एक Dart स्ट्रिंग प्रदर्शित करें।
सरल रिच टेक्स्ट अक्षरों का उपयोग करके Flutter में डार्ट स्ट्रिंग प्रदर्शित करें
यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।
Easily format Flutter text with simple format characters.
Motivation: lowest-possible development friction to add color and formatting to text.
In comparison, easy_rich_text requires lots of code (i.e, patternList of EasyRichTextPattern objects).
These are non-standard (not markdown compatible) but are more intuitive, in my opinion:
| format character | format effect | simple_rich_text string input | Flutter output |
|---|---|---|---|
| asterisk (*) | bold | "this is *bold*" | this is bold |
| slash (/) | italics | "this is /italicized/" | this is italicized |
| underscore (_) | underline | "this is _underlined_" | this is underlined |
SimpleRichText(r'*_/this is all three*_/ (*{color:red}bold*, _{color:green}underlined_, and /{color:brown}italicized/). _{push:home;color:blue}clickable hyperlink to home screen_')
Attribute pairs are placed in curly brackets immediately after first character marker. Each pair is separated by a semicolon (;) and can be in any order. Each pair has syntax name:value.
| key | meaning | implemented Dart code |
|---|---|---|
| color | red, blue, etc | textStyle.color: color-value |
| pop | pop the navigation stack | Navigator.pop(context); |
| push | push the value onto the navigation stack | Navigator.pushNamed(context, '/$route'); |
| repl | replace the top route on the navigation stack | Navigator.popAndPushNamed(context, '/$route'); |
Change text color by passing color as attribute:
"this is blue hyperlink to the _{color:blue,push:calendar}calendar_ screen"
| color:color_value | hex value |
|---|---|
| aqua | 0x00FFFF |
| black | 0x000000 |
| blue | 0x0000FF |
| brown | 0x9A6324 |
| cream | 0xFFFDD0 |
| cyan | 0x46f0f0 |
| green | 0x00FF00 |
| gray | 0x808080 |
| grey | 0x808080 |
| mint | 0xAAFFC3 |
| lavender | 0xE6BEFF |
| new | 0xFFFF00 |
| olive | 0x808000 |
| orange | 0xFFA500 |
| pink | 0xFFE1E6 |
| purple | 0x800080 |
| red | 0xFF0000 |
| silver | 0xC0C0C0 |
| white | 0xFFFFFF |
| yellow | 0xFFFF00 |
'this is /italic/'
'this is *bold*'
'*_/this is all three*_/ (*bold*, _underlined_, and /italicized/)'
'you can quote characters to NOT format a word \*bold\*'
'this is _underline_'
'go to _{/myroute}home_ page'
'this is ~important~(red).'
'this is _*bold and underlined*_.'
You can use multiple characters at the same time:
"this is _/underlined and italicized/_"
You can be sloppy! Unlike HTML, for convenience, if using multiple characters the open and closed sequences, they don't need to be in exact palindrome matching order:
"these are */equivalent/* and works without problems."
"these are */equivalent*/ and works without problems."
Ancestor MUST have textDirection set (required by internal RichText widget), either through MaterialApp widget or explicitly wrapped by a Directionality widget:
Directionality(
child: SimpleRichText('Peter', term: 't'),
textDirection: TextDirection.ltr)
Pull requests are welcome!
See the example directory.
निर्भरता सूची 3 आइटम
{"sdk":"flutter"}^6.0.3{"sdk":"flutter"}उपयोग के अनुसार छाँटें, गतिविधि की तुलना करें और अपनाने से पहले मूल प्रोजेक्ट की आवश्यकताएँ जाँचें।
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗