有没有办法禁用Flutter的“死亡的红色画面”?
我不介意在调试过程中使用它,但是它似乎也出现在生产版本中-而且我找不到有关如何禁用它或自己捕获错误的任何信息。

我尝试使用FlutterError.onErrorrunZoned(onError)捕获流浪错误,但是两者都没有阻止红屏的出现。

作为引用,我正在谈论以下屏幕:

error-handling - 禁用Flutter的 “red screen of death”-LMLPHP

最佳答案

您可以重写ErrorWidget.builder方法。
我已经解决了

・示例代码。

void main() {
    ErrorWidget.builder = (FlutterErrorDetails details) => Container();
    ...
}

・默认代码
static ErrorWidgetBuilder builder = _defaultErrorWidgetBuilder;

希望对您有所帮助。

2019 12 21更新

或更改ErrorWidget backgroundColor和textStyle。

・示例代码
import 'dart:ui' as ui;
void main() {
    RenderErrorBox.backgroundColor = Colors.transparent;
    RenderErrorBox.textStyle = ui.TextStyle(color: Colors.transparent);
}

关于error-handling - 禁用Flutter的 “red screen of death”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53903928/

10-10 23:46