発生した問題

Flutterで以下のエラーが出て、進行不能になりました。

RenderFlex children have non-zero flex but incoming height constraints are unbounded.

どうもここのColumnの箇所でエラーが出ているようです。(本当はもっとネストが深いです!笑)

SingleChildScrollView(
  child: Column(
    children: <Widget>[
      Expanded(
        child: Text('テキストです。')
      ),
    ],
  ),
);

環境

  • macOS Catalina 10.15.1
  • Android Studio 3.6.1
  • Flutter 1.12.13

結論

Flutterのバージョンを v1.15.3 以上にした。

手順

スクロールができることで、Widgetの高さに制限がなったColumnが子WidgetのExpandedが高さを埋めるのに合わせて、無限に大きくなってしまったことでした。

本来ならば、親Widgetの最大まで埋めてくれるのがExpandedですが、columnに高さの上限値がないとこのようなエラーが起きてしまいます。

SingleChildScrollView(
  child: Column(
    children: <Widget>[
      Expanded(
        child: Text('テキストです。')
      ),
    ],
  ),
);

参考記事

https://flutter.dev/docs/development/ios-project-migration