关于flutter:flutterwebviewplugin-加载全屏页面的简单使用

95次阅读

共计 1001 个字符,预计需要花费 3 分钟才能阅读完成。

因为应用 webview_flutter 的安卓利用存在键盘问题
(number 输入框关上的是全键盘,而且键盘无奈主动收起)
通过打合,能够舍弃此前已批改好的原生 js 的 confirm、alert 等弹窗适配性能,
优先保障键盘失常。
因而弃用本来采纳的批改过的 webview_flutter-0.3.21,改用最新的 flutter_webview_plugin。

间接应用全屏会呈现状态栏遮挡问题,因而须要对 demo 稍作批改。

自适应高度 (状态栏问题) 的思路:
issue:Statusbar overlapping in webview
MediaQuery 的应用办法:
Flutter MediaQuery 简略应用

class MyApp extends StatelessWidget {final flutterWebViewPlugin = FlutterWebviewPlugin();

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      routes: {"/": (_) {Rect _buildRect() {final topPadding = MediaQueryData.fromWindow(window).padding.top;
            final top = topPadding;
            var height = MediaQueryData.fromWindow(window).size.height - top;
            //height -= 56.0 + MediaQueryData.fromWindow(window).padding.bottom;
            height -= MediaQueryData.fromWindow(window).padding.bottom;
            if (height < 0.0) {height = 0.0;}
            return new Rect.fromLTWH(0.0, top, MediaQueryData.fromWindow(window).size.width, height);
          }

          flutterWebViewPlugin.resize(_buildRect());
          // 渲染页面
          return new WebviewScaffold(
            url: "https://segmentfault.com",
            javascriptChannels: <JavascriptChannel>{},);
        },
      },
    );
  }
}

正文完
 0