Short answer
Find the first layout error above it in the console and give that widget a size. A ListView or GridView inside a Column needs Expanded, Flexible or a SizedBox with a height. A TextField inside a Row needs Expanded or a SizedBox with a width. A nested list inside another scroll view can use shrinkWrap: true with NeverScrollableScrollPhysics for short lists.
What the first error is, and the fix
01
It is a side effect: find the first error
“While this error is pretty common, it's often a side effect of a primary error occurring earlier in the rendering pipeline.” Flutter, Common Flutter errors
RenderBox was not laid out repeats for every widget that could not be sized after something above it failed. Clear the console, reload the screen and read the first assertion. That one names the widget to fix.
02
A ListView inside a Column
“To make it as tall as the remaining space in the Column, wrap it using an Expanded widget (as shown in the following example).” Flutter, Common Flutter errors
A ListView takes all the height it is offered, and a Column offers unlimited height, so neither can decide. Wrap the ListView in Expanded to fill the rest of the screen, or give it a fixed height with SizedBox.
Column( children: [ const Text('Header'), Expanded( child: ListView(children: items), ), ], )03
A TextField inside a Row
“As suggested by the error message, fix this error by constraining the text field using either an Expanded or SizedBox widget.” Flutter, Common Flutter errors
A TextField wants to be as wide as possible, and a Row offers unlimited width. Wrap the field in Expanded so it takes the space next to a button, or in a SizedBox with a width.
Row( children: [ Expanded(child: TextField(controller: controller)), IconButton(icon: const Icon(Icons.send), onPressed: send), ], )04
A scroll view inside another scroll view
“The error is often caused when a ListView (or other kinds of scrollable widgets such as GridView) is placed inside a Column.” Flutter, Common Flutter errors
A ListView inside a SingleChildScrollView or another ListView has the same problem. For a short inner list, set shrinkWrap: true and physics: NeverScrollableScrollPhysics() so the outer view scrolls. For long lists, use one CustomScrollView with slivers, because shrinkWrap builds every item at once.
Checked against the vendor’s docs on : Flutter docs: Common Flutter errors (RenderBox was not laid out, unbounded height and width).
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
Related: Flutter “A RenderFlex overflowed” · Flutter “setState() called during build” · Flutter Gradle task assembleDebug failed · Flutter requires a newer Kotlin Gradle plugin