class GamePage extends StatelessWidget {
int _row;
int _column;
GamePage(this._row,this._column);
@override
Widget build(BuildContext context) {
return new Material(
color: Colors.deepPurpleAccent,
child:new Expanded(
child:new GridView.count(crossAxisCount: _column,children: new List.generate(_row*_column, (index) {
return new Center(
child: new CellWidget()
);
}),) )
);
}
}
Run Code Online (Sandbox Code Playgroud)
附加错误截图.
Sur*_*gch 37
这会崩溃,因为 Expanded 不是 Flex 小部件的后代:
Container(
child: Expanded(
child: MyWidget(),
),
)
Run Code Online (Sandbox Code Playgroud)
这里 Expanded是Flex 的后代:
Flex(
direction: Axis.horizontal,
children: [
Expanded(
child: MyWidget(),
),
],
)
Run Code Online (Sandbox Code Playgroud)
Row 也是一个 Flex 小部件:
Row(
children: [
Expanded(
child: MyWidget(),
),
],
)
Run Code Online (Sandbox Code Playgroud)
列也是如此:
Column(
children: [
Expanded(
child: MyWidget(),
),
],
)
Run Code Online (Sandbox Code Playgroud)
另一种选择是去掉 Expanded 小部件:
Container(
child: MyWidget(),
)
Run Code Online (Sandbox Code Playgroud)
azi*_*iza 27
你没有Flex祖先.
扩展窗口小部件必须是行,列或Flex的后代,并且从扩展窗口小部件到其封闭的行,列或Flex的路径必须仅包含StatelessWidgets或StatefulWidgets(不是其他类型的窗口小部件,如RenderObjectWidgets).
我不确定Expanded你的情况是否需要.但删除它或将其包装在一个Column应该解决问题.
| 归档时间: |
|
| 查看次数: |
12429 次 |
| 最近记录: |