Flutter:使用自定义ErrorWidget

时间:2019-02-25 10:33:18

标签: flutter flutter-layout

是否有一种方法可以显示(生产中)自定义错误窗口小部件,而不是显示死亡的红色屏幕?我不会更改框架代码,即使我们试图在编程时没有错误,我们也无法保证它会发生。

2 个答案:

答案 0 :(得分:5)

可以通过更改ErrorWidget.builder

来更改默认错误呈现方式
ErrorWidget.builder = (errorDetails) {
  return Container(color: Colors.red);
}

答案 1 :(得分:0)

使用ErrorWidget.builder代替main()函数,像这样

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  ErrorWidget.builder = (FlutterErrorDetails details) => SomethingWrong();
  runApp(YourApp());
}

如果您只想在Production应用程序上显示“某些小部件”,则可以使用kReleaseMode-

  if (kReleaseMode) {
    ErrorWidget.builder = (FlutterErrorDetails details) => SomethingWrong();
  }

注意:顶级kReleaseMode常数用于确定应用是否在发布模式下编译。