hitWidget static method

Widget hitWidget(
  1. String content,
  2. String keyword,
  3. TextStyle normalStyle,
  4. TextStyle highStyle,
)

构建搜索字体组成的文本 content 文本内容 keyword 搜索关键字 normalStyle 正常文本样式 highStyle 搜索关键字文本样式

Implementation

static Widget hitWidget(String content, String keyword, TextStyle normalStyle,
    TextStyle highStyle) {
  var hitInfo = TextSearcher.search(content, keyword);
  return RichText(
    maxLines: 1,
    overflow: TextOverflow.ellipsis,
    text: hitInfo == null
        ? TextSpan(text: content, style: normalStyle)
        : TextSpan(children: [
            if (hitInfo.start > 0)
              TextSpan(
                text: content.substring(0, hitInfo.start),
                style: normalStyle,
              ),
            TextSpan(
                text: content.substring(hitInfo.start, hitInfo.end),
                style: highStyle),
            if (hitInfo.end <= content.length - 1)
              TextSpan(
                  text: content.substring(hitInfo.end), style: normalStyle)
          ]),
  );
}