text_lumine 0.0.7

SDKflutter
Platformandroidioswindowslinuxmacosweb

A widget that displays text with highlighted sub-strings. It accepts pre-defined indices and lengths or a list of sub-strings.

text_lumine

A simple widget that displays text with highlighted sub-strings.

The widget supports two constructors:

  • The first one is an unnamed constructor. You can use this one when you have already calculated the positions of all highlighted sub-strings. Here is the parameter list:

    • text [required]: The whole text that is displayed on the UI
    • key [optional]: A key to identify the widget
    • normalTextStyle [optional]: The style of unhighlighted text
    • lumineInfoList [optional]: a list of LumineInfo objects. Each LumineInfo object contain the information of the highlight position. If the list is null or empty, the widget will render a normal Text widget. Here are properties of a LumineInfo object:
      • startIndex [required]: The index of the first character to highlight
      • length [optional]: Length of the highlighted sub-string. If it is undefined, the widget will highlight till the end of the text
      • style [optional]: Style of the highlighted sub-string
  • The second one is a named constructor which is TextLumine.withHighlightedSubstrings. With this constructor, you only have to provide a list of sub-strings that you wish to highlight. The widget will automatically find those sub-strings. The parameters of this constructor are listed below:

    • text [required]: The whole text that is displayed on the UI
    • substrings [required]: A list of sub-strings to highlight
    • key [optional]: A key to identify the widget
    • normalTextStyle [optional]: The style of unhighlighted text
    • ignoreDiacritics [optional]: Search for sub-strings without considering the diacritics
    • ignoreCase [optional]: Enable case-insensitive when searching for sub-strings
    • highlightTextStyle [optional]: The text style of the highlighted sub-strings

Here are examples for those two constructors:

import 'package:text_lumine/text_lumine.dart';

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return TextLumine(
      'Text to highlight', 
      lumineInfoList: [LumineInfo(8)]
    );
  }
}
import 'package:text_lumine/text_lumine.dart';

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return TextLumine.withHighlightedSubstrings('Text to highlight', substrings: const ["highlight"]);
  }
}