Flutter TapGestureRecognitor在Flatter webview中不工作
我试着在FlatterWebView中使用手势识别器来缩小双捏,但它不起作用。如果你有什么解决办法,请帮助我Flutter TapGestureRecognitor在Flatter webview中不工作,flutter,dart,Flutter,Dart,我试着在FlatterWebView中使用手势识别器来缩小双捏,但它不起作用。如果你有什么解决办法,请帮助我 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
void main()=>runApp(WebView());
class WebView extends StatefulWidget {
@override
_WebViewState createState() => _WebViewState();
}
class _WebViewState extends State<WebView> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Builder(builder: (BuildContext context) {
return WebView(
key: UniqueKey(),
gestureRecognizers:
Set()..add(Factory<TapGestureRecognizer>(() => TapGestureRecognizer(),)),//ZOOM WEBVIEW
initialUrl:
'https://stackoverflow.com/questions/',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
);
}),
);
}
}
这是代码的重要部分,如果您需要完整的代码,请发表评论。我遇到了同样的问题,通过将WebView包装到GestureDetector中,并在其中包含onTap,我能够使TapGestureRecognizer正常工作。除了我不知道为什么它会起作用
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
onTap: () {
print("This one doesn't print");
},
child: Container(
child: Stack(
children: <Widget>[
WebView(
initialUrl:
'example.com',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
gestureRecognizers: Set()
..add(
Factory<TapGestureRecognizer>(() => TapGestureRecognizer()
..onTapDown = (tap) {
print("This one prints");
})),
),
],
),
),
),
);
}
想知道是否有人有类似的问题,并使其正常工作。我遇到了相同的问题,并能够通过将WebView包装到GestureDetector中,使TapGestureRecognizer工作,其中包含onTap。除了我不知道为什么它会起作用
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
onTap: () {
print("This one doesn't print");
},
child: Container(
child: Stack(
children: <Widget>[
WebView(
initialUrl:
'example.com',
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
gestureRecognizers: Set()
..add(
Factory<TapGestureRecognizer>(() => TapGestureRecognizer()
..onTapDown = (tap) {
print("This one prints");
})),
),
],
),
),
),
);
}
想知道是否有人有类似的问题,并使其正常工作