首页 > 解决方案 > 展开的小部件必须放在 Flex 小部件内

问题描述

新来的颤振,有人能告诉我下面的代码有什么问题吗在此处输入图像描述

  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()
        );
      }),) )


    );
  }
}

附上错误截图。

标签: dartflutter

解决方案


你没有Flex祖先。

Expanded 小部件必须是 Row、Column 或 Flex 的后代,并且从 Expanded 小部件到其封闭的 Row、Column 或 Flex 的路径必须仅包含 StatelessWidget 或 StatefulWidget(而不是其他类型的小部件,如 RenderObjectWidgets)。

我不确定Expanded你的情况是否需要。但是将其删除或将其包装在 a 中Column应该可以解决问题。


推荐阅读