因为应用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>{ }, ); }, }, ); }}