juejin:https://juejin.cn/post/7283749823428214821

multi_highlight_text

Used to achieve multiple styles of text highlighting, including cross highlighting

Example

Simple display

Content error correction display

Features

  • multiple highlight styles
  • highlight style crossing
  • custom cross style
  • supports both words and positions
  • custom decoration of highlight text

Usage

Simple

MultiHighLightText(
    text: chText,
    textStyle: _textStyle,
    highlights: [
      HighlightItem(
          text: "xxx",
          textStyle: _textStyle.copyWith(color: Colors.green)),
      HighlightItem(
          text: "xxx",
          textStyle: _textStyle.copyWith(color: Colors.yellow)),
      HighlightItem(
          range: const TextRange(start: 0, end: 1),
          textStyle: _textStyle.copyWith(color: Colors.red)),
    ],
)

Custom

MultiHighLightText(
    text: chText,
    textStyle: _textStyle,
    highlights: [
      HighlightItem(
          text: "xxx",
          textStyle: _textStyle.copyWith(color: Colors.green)),
      HighlightItem(
          text: "xxx",
          textStyle: _textStyle.copyWith(color: Colors.yellow)),
      HighlightItem(
          range: const TextRange(start: 0, end: 1),
          textStyle: _textStyle.copyWith(color: Colors.red)),
    ],
    onMixStyleBuilder: _onMixCorrectErrorTextStyleBuilder, // custom cross style
    onDecorateTextSpanBuilder: _onDecorateBuilder, // decorate the collection of the final textspan
)

Existing providers

name description
text The text you want to show
textStyle The text style
highlights List with the word you need to highlight
onMixStyleBuilder The builder of custom cross highlight style
onDecorateTextSpanBuilder The builder of decorate the textSpans

Other

If it helps you, please give me a star, thank you.

Currently, the library supports the above functions. If you have other requirements or bugs, please raise an issue and I will try our best to help everyone solve it.