getTextWithReadMore method

Widget getTextWithReadMore(
  1. int maxLine,
  2. String text,
  3. dynamic readMore(), {
  4. String readMoreText = "Lihat selengkapnya",
  5. int marginOnText = 0,
  6. TextStyle? textStyleNonClickable,
  7. TextStyle? textStyleClickable,
})

Implementation

Widget getTextWithReadMore(int maxLine, String text, Function() readMore,
    {String readMoreText = "Lihat selengkapnya",
    int marginOnText = 0,
    TextStyle? textStyleNonClickable,
    TextStyle? textStyleClickable}) {
  int length = getTextLengthDependOnWidth(maxLine: maxLine) - marginOnText;
  if (length > text.length)
    return Text(text, style: textStyleNonClickable ?? TextStyle());
  return RichText(
      text: TextSpan(
          style: textStyleNonClickable ?? TextStyle(),
          children: <TextSpan>[
        TextSpan(text: text.substring(0, length - (readMoreText.length + 6))),
        TextSpan(text: "..."),
        TextSpan(
            text: " " + readMoreText,
            style: textStyleClickable ?? TextStyle(),
            recognizer: TapGestureRecognizer()..onTap = readMore)
      ]));
}