You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:39:16