diff --git a/lib/html_parser.dart b/lib/html_parser.dart
index 7c8f7cb9fc..acdbc5b1f5 100644
--- a/lib/html_parser.dart
+++ b/lib/html_parser.dart
@@ -6,6 +6,7 @@ import 'package:csslib/parser.dart' as cssparser;
import 'package:csslib/visitor.dart' as css;
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
+import 'package:flutter/rendering.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:flutter_html/image_render.dart';
import 'package:flutter_html/src/anchor.dart';
@@ -410,6 +411,7 @@ class HtmlParser extends StatelessWidget {
InlineSpan addTaps(InlineSpan childSpan, TextStyle childStyle) {
if (childSpan is TextSpan) {
return TextSpan(
+ mouseCursor: SystemMouseCursors.click,
text: childSpan.text,
children: childSpan.children
?.map((e) => addTaps(e, childStyle.merge(childSpan.style)))
@@ -425,16 +427,20 @@ class HtmlParser extends StatelessWidget {
);
} else {
return WidgetSpan(
- child: MultipleTapGestureDetector(
- onTap: _onAnchorTap != null
- ? () => _onAnchorTap!(tree.href, context, tree.attributes, tree.element)
- : null,
- child: GestureDetector(
- key: AnchorKey.of(key, tree),
+ child: MouseRegion(
+ key: AnchorKey.of(key, tree),
+ cursor: SystemMouseCursors.click,
+ child: MultipleTapGestureDetector(
onTap: _onAnchorTap != null
- ? () => _onAnchorTap!(tree.href, context, tree.attributes, tree.element)
+ ? () => _onAnchorTap!(tree.href, context, tree.attributes, tree.element)
: null,
- child: (childSpan as WidgetSpan).child,
+ child: GestureDetector(
+ key: AnchorKey.of(key, tree),
+ onTap: _onAnchorTap != null
+ ? () => _onAnchorTap!(tree.href, context, tree.attributes, tree.element)
+ : null,
+ child: (childSpan as WidgetSpan).child,
+ ),
),
),
);
@@ -442,12 +448,13 @@ class HtmlParser extends StatelessWidget {
}
return TextSpan(
+ mouseCursor: SystemMouseCursors.click,
children: tree.children
.map((tree) => parseTree(newContext, tree))
.map((childSpan) {
- return addTaps(childSpan,
- newContext.style.generateTextStyle().merge(childSpan.style));
- }).toList(),
+ return addTaps(childSpan,
+ newContext.style.generateTextStyle().merge(childSpan.style));
+ }).toList(),
);
} else if (tree is LayoutElement) {
return WidgetSpan(
diff --git a/pubspec.yaml b/pubspec.yaml
index 6567c3937e..c826ff528e 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,7 +5,7 @@ homepage: https://github.com/Sub6Resources/flutter_html
environment:
sdk: '>=2.12.0 <3.0.0'
- flutter: '>=1.17.0'
+ flutter: '>=2.2.0'
dependencies:
# Plugin for parsing html