如何在Webview_flutter插件上使用Pinch Zoom

时间:2019-07-07 16:42:16

标签: android flutter webview

我试图在Webview_flutter插件/插件中使Pinch Zoom工作。 这是一个简单的测试应用程序,我将本教程称为指南https://blog.geekyants.com/webviews-in-flutter-87194714ce3d

我在其中添加了这个手势识别器代码。

  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: [
          Expanded(
            child: WebView(
              key: _key,
              javascriptMode: JavascriptMode.unrestricted,
              initialUrl: _url,
              gestureRecognizers: Set()..add(Factory < VerticalDragGestureRecognizer > (
                () => VerticalDragGestureRecognizer()))..add(Factory < ScaleGestureRecognizer > (
                () => ScaleGestureRecognizer())), ))
        ],
      ));
  }

但是它没有启用任何捏缩放功能。

我正在用2种不同的Android设备进行测试,一种正在运行Android OS 8.0,另一种正在运行Android OS 7.0。 我正在使用Flutter最新的Beta。

感谢任何帮助或提示以使此功能正常工作。 谢谢。

3 个答案:

答案 0 :(得分:0)

您可以像这样使用flutter_webview_plugin

await

答案 1 :(得分:0)

默认情况下,iOS上启用了

缩放缩放

遵循此拉取请求并修改FlutterWebView.java以在android上启用它:

link here

答案 2 :(得分:0)

Flutter 插件 > webview_flutter-2.0.2 > /android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java

我只是改变了这个文件,添加了这个代码:

// Allow zoom.
webView.getSettings().setBuiltInZoomControls(true);
// Hide buttons.
webView.getSettings().setDisplayZoomControls(false);

*和‘罗文辉’做的一样。