我仅在发布模式下收到此错误:“在performLayout()期间引发了以下ArgumentError:无效参数:0.0”。
我已经进行了一些搜索,并在此处找到此错误的说明:https://github.com/flutter/flutter/issues/5259。
问题5259的解决方法是:“我们应该强迫开发人员考虑这些情况。否则,我们必须放慢应用程序的启动,以确保宽度和高度始终在启动时可用。”
但是,我是Flutter的新手,我找不到关于开发人员如何考虑这些情况的任何信息。在加载首页之前,我是否需要获取设备的宽度和高度?我是否需要延迟页面加载?
我有一个禁用的动画,但是错误仍然存在,因此问题似乎出在渲染简单的gridview上。
以下是一些代码示例:
主要:
void main() {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {
runApp(StatusStream(child: MyApp()));
});
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _MyAppState();
}
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(primarySwatch: Colors.blueGrey),
home: HomePage());
}
}
主页:
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Easy DND'),
),
body: GridView.count(
crossAxisCount: 2,
childAspectRatio: 1.0,
padding: const EdgeInsets.all(15.0),
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
children: <Widget>[
CardOne(),
CardTwo(),
CardThree(),
CardFour(),
],
),
);
}
}
答案 0 :(得分:2)
如果尺寸为0,0
return Container();
您可以使用MediaQuery
来获取尺寸。