颤振全屏:system_chrome.dart 错误

Flutter fullscreen: system_chrome.dart Error

我正在开发我的 flutter 应用程序,我想全屏显示它。

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
  runApp(const MyApp());
}

我在 main.dart 文件中使用 SystemChrome,但是当我调试我的代码时,文件“system_chrome.dart”打开时出现以下错误:

    } else {
      assert(mode == SystemUiMode.manual && overlays != null);
      await SystemChannels.platform.invokeMethod<void>(
        'SystemChrome.setEnabledSystemUIOverlays',
        _stringify(overlays!),
      );
    }

如果我使用 SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);在我的页面的每个构建方法中,代码都可以毫无问题地进行调试。

提前致谢!

您设置得太早了 - 在 Flutter 框架启动之前。

您可以先调用 WidgetsFlutterBinding.ensureInitialized() 启动 Flutter 框架,然后 运行,然后再调用您的方法。

基本上,将您的 main() 更改为:

void main() {
  WidgetsFlutterBinding.ensureInitialized(); // add this line
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
  runApp(MyApp());
}