Flutter桌面端如何用desktop_webview_window:^0.1.6仅显示WebView窗口
解决仅显示WebView窗口、去掉Flutter空白屏的方案
要实现只显示WebView窗口,核心是不要启动Flutter自身的应用窗口——原来的代码里runApp和bitsdojo_window的appWindow.show()就是生成空白屏的原因,直接移除这些逻辑,只保留WebView的创建代码即可。
修改后的完整代码如下:
import 'package:flutter/material.dart'; import 'package:desktop_webview_window/desktop_webview_window.dart'; void main(List<String> args) async { debugPrint('args: $args'); WidgetsFlutterBinding.ensureInitialized(); // 保留包要求的判断逻辑 if (runWebViewTitleBarWidget(args)) { return; } // 直接执行WebView创建逻辑 final webview = await WebviewWindow.create( configuration: const CreateConfiguration(title: "google"), ); webview.launch("https://google.com/"); }
关键改动说明:
- 移除了
bitsdojo_window的导入和相关代码:这个包用来控制Flutter自身窗口,我们不需要显示该窗口,直接删掉即可。 - 删掉了
runApp(const MyApp()):这行代码会启动Flutter的Widget树并生成空白窗口,不需要的话直接移除。 - 把原来
WebViewExample里的web()函数逻辑直接移到main函数中:不需要通过StatefulWidget初始化,直接在main里执行WebView的创建和启动即可。
这样运行后就只会弹出WebView窗口,不会出现Flutter的空白屏了。
内容的提问来源于stack exchange,提问作者MD ZDN
相关产品推荐
相关产品推荐

