buildTextSpan function
TextSpan
buildTextSpan(
- List<
LinkifyElement> elements, { - TextStyle? style,
- TextStyle? linkStyle,
- LinkCallback? onOpen,
- bool useMouseRegion = false,
Raw TextSpan builder for more control on the RichText
Implementation
TextSpan buildTextSpan(
List<LinkifyElement> elements, {
TextStyle? style,
TextStyle? linkStyle,
LinkCallback? onOpen,
bool useMouseRegion = false,
}) {
return TextSpan(
children: elements.map<InlineSpan>(
(element) {
if (element is LinkableElement) {
if (useMouseRegion) {
return LinkableSpan(
mouseCursor: SystemMouseCursors.click,
inlineSpan: TextSpan(
text: element.text,
style: linkStyle,
recognizer: onOpen != null ? (TapGestureRecognizer()..onTap = () => onOpen(element)) : null,
),
);
} else {
return TextSpan(
text: element.text,
style: linkStyle,
recognizer: onOpen != null ? (TapGestureRecognizer()..onTap = () => onOpen(element)) : null,
);
}
} else {
return TextSpan(
text: element.text,
style: style,
);
}
},
).toList(),
);
}