如何在移动应用程序中隐藏颤动的 webview

我可以在我的移动应用程序中使用 javascript 执行代码和库。我使用 webview_flutter 来做到这一点。但我不想在我的 UI 中显示 webview。我只想在隐藏 webview 的情况下执行库。我怎么能在颤动中做到这一点?



鸿蒙传说
浏览 63回答 1
1回答

繁花如伊

我找到了解决我自己问题的方法。我改用 webview_flutter_plus: ^0.1.1+9 和具有适当属性的 Visibility 小部件。可以在下面的代码片段中看到。&nbsp; @override&nbsp; Widget build(BuildContext context) {&nbsp; &nbsp; return Scaffold(&nbsp; &nbsp; &nbsp; appBar: AppBar(&nbsp; &nbsp; &nbsp; &nbsp; title: Text('Webview counter: ' + scounter),&nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; &nbsp; body: Column(&nbsp; &nbsp; &nbsp; &nbsp; children: <Widget>[&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Visibility(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; visible: false,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; maintainState: true,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; child: SizedBox(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; height: 1,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; child: WebViewPlus(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onWebViewCreated: (controller) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this._webViewController = controller;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; controller.loadUrl("files/test.html");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onPageFinished: (url) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _webViewController.getHeight().then((double height) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print("height: " + height.toString());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setState(() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _height = height;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; javascriptMode: JavascriptMode.unrestricted,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; javascriptChannels: <JavascriptChannel>[_counterx()].toSet(),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Text("Webview above"),&nbsp; &nbsp; &nbsp; &nbsp; ],&nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; &nbsp; floatingActionButton: FloatingActionButton(&nbsp; &nbsp; &nbsp; &nbsp; child: const Icon(Icons.add),&nbsp; &nbsp; &nbsp; &nbsp; onPressed: () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _webViewController.evaluateJavascript('reset()');&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; ),&nbsp; &nbsp; );&nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript