easy_rich_text 0.2.2

  • Readme
  • Changelog
  • Example
  • Installing
  • 84

easy_rich_text #

The EasyRichText widget provides a easy way to use RichText when you want to use specific style for specific word pattern. This widget would be useful when you want to apply RichText to text get from a query.

This widget split string into multiple TextSpan by defining a List of EasyRichTextPattern();

The EasyRichTextPattern is a class defines the text pattern you want to format.

Getting Started #

Installing: #

dependencies:
  easy_rich_text: '^0.2.2'

Simple example: #

alt text

String str1 = "This is a EasyRichText example. I want blue font. I want bold font. I want italic font. ";

EasyRichText(
  str1,
  patternList: [
    EasyRichTextPattern(
      targetString: 'blue',
      style: TextStyle(color: Colors.blue),
    ),
    EasyRichTextPattern(
      targetString: 'bold',
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
    EasyRichTextPattern(
      targetString: 'italic',
      style: TextStyle(fontStyle: FontStyle.italic),
    ),
  ],
),

Default Style: #

alt text

String str2 = "This is a EasyRichText example with default grey font. I want blue font here.";

EasyRichText(
  str2,
  defaultStyle: TextStyle(color: Colors.grey),
  patternList: [
    EasyRichTextPattern(
      targetString: 'blue',
      style: TextStyle(color: Colors.blue),
    ),
    EasyRichTextPattern(
      targetString: 'bold',
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
  ],
),

superscript and subscript. #

alt text

String str3 = "This is a EasyRichText example. I want blue superscript font here. I want no blue font here";

EasyRichText(
  str3,
  patternList: [
    EasyRichTextPattern(
        targetString: 'blue',
        stringBeforeTarget: 'want',
        style: TextStyle(color: Colors.blue),
        superScript: true),
  ],
  textAlign: TextAlign.justify,
),

All RichText properties accessible: textAlign, maxLines, overflow, etc. #

alt text

String str4 = "This is a EasyRichText example. I want blue font here. TextOverflow.ellipsis, TextAlign.justify, maxLines: 1";

EasyRichText(
  str4,
  patternList: [
    EasyRichTextPattern(
      targetString: 'blue',
      stringBeforeTarget: 'want',
      style: TextStyle(color: Colors.blue),
    ),
  ],
  textAlign: TextAlign.justify,
  maxLines: 1,
  overflow: TextOverflow.ellipsis,
),

Known issues #

Conflict when one target string is included in another target string #

alt text

String str6 = "This is a EasyRichText example. I want whole sentence blue. I want whole sentence bold.";

EasyRichText(
  str6,
  patternList: [
    EasyRichTextPattern(
      targetString: 'blue',
      style: TextStyle(color: Colors.blue),
    ),
    EasyRichTextPattern(
      targetString: 'I want whole sentence blue',
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
    EasyRichTextPattern(
      targetString: 'I want whole sentence bold',
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
  ],
),
not all characters support superscript and subscript #

Characters do not support superscript: q z C F Q S X Y Z.

Only these characters support subscript: e h i j k l m n o p r s t u v x.

[0.0.1] - 2019-11-18.

[0.0.2] - 2019-11-18.

  • initial EasyRichText release.

[0.1.0] - 2019-11-19.

  • update readme

[0.2.0] - 2019-11-07

  • use List

[0.2.1] - 2019-12-07

  • Update readme

[0.2.2] - 2019-12-07

  • Update readme

example/README.md

example #

An example of EasyRichText.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  easy_rich_text: ^0.2.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:easy_rich_text/easy_rich_text.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
69
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
84
Learn more about scoring.

We analyzed this package on Jan 19, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.0
  • pana: 0.13.4
  • Flutter: 1.12.13+hotfix.5

Health suggestions

Format lib/easy_rich_text.dart.

Run flutter format to format lib/easy_rich_text.dart.

Format lib/src/easy_rich_text.dart.

Run flutter format to format lib/src/easy_rich_text.dart.

Format lib/src/easy_rich_text_pattern.dart.

Run flutter format to format lib/src/easy_rich_text_pattern.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test