Skip to content

frsisalima/dynamic_text_highlighting

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Text Highlighting (DTH)

This package is used to highlight, in a completely dynamic way, keywords, or phrases, wherever they are present in a specified text.

demo

Getting Started

DynamicTextHighlighting is also the name of the package widget. It returns a RichText widget and it accepts four basic parameters:

  • text: the whole text
  • highlights: the words to be highlighted
  • color: the highlight color
  • styleHighlights: the default text style to the words to be highlighted
  • style: the default text style
  • caseSensitive: the case sensitive option

In addition to these parameters, there are others related to RichText widget:

  • TextAlign textAlign
  • TextDirection textDirection
  • bool softWrap
  • TextOverflow overflow
  • double textScaleFactor
  • int maxLines
  • Locale locale
  • StrutStyle strutStyle
  • TextWidthBasis textWidthBasis
  • TextHeightBehavior textHeightBehavior

Example

Widget buildDTH(String text, List<String> highlights) {
  return DynamicTextHighlighting(
    text: text,
    highlights: highlights,
    color: Colors.yellow,
    style: TextStyle(
      fontSize: 18.0,
      fontStyle: FontStyle.italic,
    ),
    styleHighlights: TextStyle(
      color: Colors.redAccent,
      fontSize: 18.0,
      fontStyle: FontStyle.italic,
    ),
    caseSensitive: false,
  );
}

It is a stateless widget, so for any changes just call setState(() {...}).

void applyChanges(List<String> newHighlights) {
  setState(() {
    highlights = newHighlights;
  });
}

About

Dynamic Text Highlighting (DTH) package for Dart & Flutter.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 100.0%