flutter - 关闭 WebviewScaffold 或调整 flutterWebviewPlugin 大小以适合父小部件
问题描述
我正在使用 flutter_webview_plugin: ^0.3.8 在我的颤振应用程序中打开一个 webview。当我单击一个按钮时,会打开一个 web 视图。我可以通过两种方式做到这一点。
FlutterWebviewPlugin flutterWebviewPlugin = FlutterWebviewPlugin();
1)flutterWebviewPlugin.launch('https://google.com',withJavascript: true);
问题是它在网络视图中打开谷歌,但它占据了整个可用屏幕。它不尊重父小部件中定义的安全区域或其他任何内容,并且不确定如何在应用栏中添加后退按钮。我可以用 flutterWebviewPlugin.close() 关闭它
2)Navigator.push<dynamic>(
context,
MaterialPageRoute<dynamic>(
builder: (BuildContext context) => WebviewScaffold(
url: 'https://google.com',
withJavascript: true,
appBar: AppBar(
title: Text("Widget webview"),
),),),);
这尊重安全区域,我也可以有一个带有后退按钮的应用栏,但我无法关闭它。flutterWebviewPlugin.close() 似乎不起作用。
我还有一个 dispose 方法:
flutterWebviewPlugin.dispose();
super.dispose();
}
我需要一种方法来根据父小部件关闭 WebviewScaffold 或调整 flutterWebviewPlugin 的大小。我怎么做?
解决方案
使用颤振解决 web 视图中的状态栏重叠问题
@override
Widget build(BuildContext context) {
return new MaterialApp(
debugShowCheckedModeBanner: false,
home: Container(
margin: const EdgeInsets.only(top: 0.0),
child: SafeArea(
top: true,
child: new WebviewScaffold(
url: gisUrl,
withZoom: true,
withLocalStorage: true,
hidden: true,
initialChild: Container(
color: Colors.white,
child: const Center(
child: Text('Loading.....'),
),
),
),
),
),
);
推荐阅读
- microsoft-graph-api - 如何从标题中获取可用的电子邮件参考 ID 以在 Microsoft Graph 查询中使用?
- .htaccess - .htaccess 重定向不指向指定文件
- python - Keras(Tensorflow) python 图像分类与分析(根系统)
- sql - Postgresql 中使用触发器的总库存
- java - 使用自定义函数模拟静态 void 方法
- asp.net-core - Asp.Net 核心 ActionFilter 上下文请求正文已处理
- python - 堆叠从 Xarray 生成的 Dask 数组的有效方法
- java - 带有 OAuth 的 Spring Boot Security Multi Http 不起作用
- microsoft-edge - 发布 Microsoft Edge 扩展时如何解决识别问题?
- javascript - 等待函数解决没有参数的承诺