0
body: const Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: WebView(
          initialUrl: "https://xxxx",
          navigationDelegate: (navigation) {
            return NavigationDecision.navigate;
          },
        ),
      ),

编译时发生错误。

lib/main.dart:84:31: Error: Not a constant expression.
          navigationDelegate: (navigation) {
                              ^^^^^^^^^^^^

当我使用flutter-2.2.0andwebview_flutter-2.0.13时,上面的代码可以正常工作。但是在我将flutter升级到2.5.2并将webview_flutter升级到2.0.13之后,错误发生了。环境(颤振2.5.2):

environment:
  sdk: ">=2.12.0 <3.0.0"
dependencies:
  flutter:
    sdk: flutter
  webview_flutter: 2.1.1
4

2 回答 2

1

您正在尝试使用不带常量参数const的小部件的构造函数。Center

通过使用 const 构造函数创建小部件,您可以指定其所有字段都将在编译时定义。

因此,在您的情况下,您需要const在小部件之前删除Center,因为这不是恒定的:

navigationDelegate: (navigation) {
    return NavigationDecision.navigate;
}
于 2021-10-15T13:15:50.420 回答
0

当我迁移到最新的 Flutter 版本时,我在使用其他一些包时也遇到了类似的问题,因为我的包版本与 Flutter 版本不是最新的。

运行这个命令,

flutter pub upgrade --major-versions

它会将您的软件包(在本例中为 webview_flutter)升级到与您当前的 Flutter 版本兼容的最新版本。

这对我有用。

于 2021-10-15T01:28:59.877 回答