Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.49

simple_rich_text

Zeigen Sie eine Dart-Zeichenfolge in Flutter mit einfachen reichhaltigen Textzeichen an.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
7740
Likes
88
Pub-Punkte
150

Paket installieren

flutter pub add simple_rich_text

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das die einfache Rich-Text-Rendierung in Dart-Zeichenketten ermöglicht und Benutzern die Formatierung von Text mit grundlegenden Stilen durch eine intuitive Syntax erlaubt. Es unterstützt gängige Formatierungen wie Fett, Kursiv und Farbe über eingebettete Zeichen, wodurch das Anzeigen formatierten Texts ohne komplexe Widget-Hierarchien einfach wird. Ideal für Apps, die eine leichte, lesbare Textformatierung mit minimalem Boilerplate benötigen. Das Paket ist plattformübergreifend und funktioniert nahtlos auf Android, iOS, Web, macOS, Windows und Linux.

Anwendungsfälle

  • Formatierte Benutzermeldungen anzeigen
  • Stilisierte Benachrichtigungen rendern
  • Dynamische Textbeschriftungen erstellen
  • Reichhaltigen Inhalt in Chat-Oberflächen anzeigen
  • UI mit minimalem Code verbessern

Hauptmerkmale

  • Einfache zeichenbasierte Formatierung
  • Plattformübergreifende Unterstützung
  • Minimale Widget-Nestung
  • Unterstützt fett, kursiv und Farbe
  • Einfache Integration mit bestehenden Text-Widgets

Geeignet für

  • Anfänger-Flutter-Entwickler
  • Apps mit einfachen Textformatierungsanforderungen
  • Chat- oder Nachrichtenoberflächen
  • Leichte Anforderungen an reichhaltigen Text
  • Schnellprototypen

Hinweise

  • Beschränkt auf grundlegende Formatierung
  • Nicht geeignet für komplexe Layouts
  • Keine Unterstützung für fortgeschrittene Typografie
  • Erfordert sorgfältige String-Escaping
  • Kann die Lesbarkeit beeinträchtigen, wenn sie übermäßig verwendet wird

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

simple_rich_text

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).

Format Characters

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

Example Input

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_')

Example Flutter Output

Screenshot

Attributes

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');

Colors Supported

Change text color by passing color as attribute:

Example

"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

Features

  • support text hyperlinks to other screens by preceding formatted text with route inside curly brackets: e.g., "... {calendar}go to calendar screen".

Sample Inputs:

'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*_.'

Notes

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."

Requirements

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)

Improvements, Bugs, and Deficiencies

  • [ ] user-definable format characters
  • [ ] user-definable callback functions for custom formatting
  • [ ] support non-named navigation (only pushNamed, etc., supported at present)

Pull Requests

Pull requests are welcome!

Examples

See the example directory.

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.