-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Description
Hi,
lets take this simple App, it should have a Textfield and a Text always at the bottom of the screen:
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(),
body: new Column(mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Text(
'Line 1',
),
new Text(
'Line 2',
),
Expanded(
child: Container(
alignment: Alignment.bottomCenter,
child: new Text(
'Should be at the bottom',
),
),
),
],
),
);
}Which is a pretty common use case. Unfortunately the Textfield at the bottom won't get scrolled into view when getting focus so I wrap the Scaffold in a SingleChildScrollView which leads to this exception:
I/flutter ( 6245): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter ( 6245): The following assertion was thrown during performLayout():
I/flutter ( 6245): RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
I/flutter ( 6245): This probably means that it is a render object that tries to be as big as possible, but it was put
I/flutter ( 6245): inside another render object that allows its children to pick their own size.
I/flutter ( 6245): The nearest ancestor providing an unbounded height constraint is:
I/flutter ( 6245): _RenderSingleChildViewport#d8e19 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): creator: _SingleChildViewport ← _ScrollableScope ← IgnorePointer-[GlobalKey#f839e] ← Semantics ←
I/flutter ( 6245): Listener ← _GestureSemantics ←
I/flutter ( 6245): RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#1b983] ←
I/flutter ( 6245): _ExcludableScrollSemantics-[GlobalKey#92c21] ← RepaintBoundary ← CustomPaint ← RepaintBoundary ←
I/flutter ( 6245): NotificationListener<ScrollNotification> ← ⋯
I/flutter ( 6245): parentData: <none> (can use size)
I/flutter ( 6245): constraints: BoxConstraints(w=411.4, h=683.4)
I/flutter ( 6245): layer: OffsetLayer#3a690
I/flutter ( 6245): size: Size(411.4, 683.4)
I/flutter ( 6245): The constraints that applied to the RenderCustomMultiChildLayoutBox were:
I/flutter ( 6245): BoxConstraints(w=411.4, 0.0<=h<=Infinity)
I/flutter ( 6245): The exact size it was given was:
I/flutter ( 6245): Size(411.4, Infinity)
I/flutter ( 6245): See https://flutter.io/layout/ for more information.
I/flutter ( 6245):
I/flutter ( 6245): When the exception was thrown, this was the stack:
I/flutter ( 6245): #0 RenderBox.debugAssertDoesMeetConstraints.<anonymous closure> (package:flutter/src/rendering/box.dart:1713:9)
I/flutter ( 6245): #1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:1787:6)
I/flutter ( 6245): #2 RenderBox.size=.<anonymous closure> (package:flutter/src/rendering/box.dart:1507:17)
I/flutter ( 6245): #3 RenderBox.size= (package:flutter/src/rendering/box.dart:1507:65)
I/flutter ( 6245): #4 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:354:5)
I/flutter ( 6245): #5 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #6 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #8 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #9 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1143:11)
I/flutter ( 6245): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #11 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:479:13)
I/flutter ( 6245): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #13 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #15 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #17 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #19 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #20 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #21 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #23 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #25 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #27 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #29 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:479:13)
I/flutter ( 6245): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #33 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #35 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #37 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #39 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #40 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #41 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #42 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #43 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #44 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #45 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #46 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #47 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #48 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #49 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #50 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #51 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #52 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #53 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #54 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #55 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #56 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #57 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #58 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #59 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #61 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #62 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2831:13)
I/flutter ( 6245): #63 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #64 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
I/flutter ( 6245): #65 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #66 __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #67 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #68 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #69 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #70 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #71 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #72 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #73 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #74 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #75 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #76 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 6245): #77 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 6245): #78 RenderView.performLayout (package:flutter/src/rendering/view.dart:125:13)
I/flutter ( 6245): #79 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1451:7)
I/flutter ( 6245): #80 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:710:18)
I/flutter ( 6245): #81 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter ( 6245): #82 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
I/flutter ( 6245): #83 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter ( 6245): #84 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter ( 6245): #85 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter ( 6245): #86 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter ( 6245): #88 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter ( 6245): #89 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter ( 6245): #90 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
I/flutter ( 6245): (elided one frame from package dart:async)
I/flutter ( 6245):
I/flutter ( 6245): The following RenderObject was being processed when the exception was fired:
I/flutter ( 6245): RenderCustomMultiChildLayoutBox#1d542 relayoutBoundary=up12 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): creator: CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ←
I/flutter ( 6245): _InkFeatures-[GlobalKey#a15e8 ink renderer] ← NotificationListener<LayoutChangedNotification> ←
I/flutter ( 6245): PhysicalModel ← AnimatedPhysicalModel ← Material ← PrimaryScrollController ← _ScaffoldScope ←
I/flutter ( 6245): Scaffold ← ⋯
I/flutter ( 6245): parentData: <none> (can use size)
I/flutter ( 6245): constraints: BoxConstraints(w=411.4, 0.0<=h<=Infinity)
I/flutter ( 6245): size: Size(411.4, Infinity)
I/flutter ( 6245): This RenderObject had the following descendants (showing up to depth 5):
I/flutter ( 6245): RenderFlex#d05ae NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderParagraph#be72d NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderParagraph#707ac NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderSemanticsAnnotations#04c80 NEEDS-LAYOUT NEEDS-PAINT
Reloaded 0 of 391 libraries in 391ms.
I/flutter ( 6245): RenderIgnorePointer#2bbea NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderPointerListener#01e0d NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): _RenderDecoration#7a351 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderPositionedBox#faaa5 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderFlex#46117 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderSemanticsAnnotations#3fc96 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderIgnorePointer#8523d NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderParagraph#43155 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderConstrainedBox#160a1 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderSemanticsAnnotations#7b97b NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderPhysicalModel#c472f NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): _RenderInkFeatures#902a3 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderPositionedBox#87b65 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderStack#4e7f8 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderTransform#0443a NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): RenderTransform#92ca9 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 6245): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 6245): Another exception was thrown: _RenderInkFeatures object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderPhysicalModel object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: _RenderSingleChildViewport object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderIgnorePointer object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderSemanticsAnnotations object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderPointerListener object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderSemanticsGestureHandler object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: _RenderExcludableScrollSemantics object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderRepaintBoundary object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderCustomPaint object was given an infinite size during layout.
I/flutter ( 6245): Another exception was thrown: RenderRepaintBoundary object was given an infinite size during layout.
D/EGL_emulation( 6245): eglMakeCurrent: 0xa51053c0: ver 3 1 (tinfo 0xa51032d0)
Lost connection to device.
Exited (sigterm)
Moving the SingleChildScrollView inside the Scaffold's body doesn't work either:
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Built build\app\outputs\apk\debug\app-debug.apk.
D/EGL_emulation( 5210): eglMakeCurrent: 0xa301bbc0: ver 3 1 (tinfo 0xa0f9b970)
E/eglCodecCommon( 5210): glUtilsParamSize: unknow param 0x000082da
E/eglCodecCommon( 5210): glUtilsParamSize: unknow param 0x000082da
I/Choreographer( 5210): Skipped 36 frames! The application may be doing too much work on its main thread.
D/EGL_emulation( 5210): eglMakeCurrent: 0xa7785360: ver 3 1 (tinfo 0xa77832c0)
I/flutter ( 5210): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter ( 5210): The following assertion was thrown during performLayout():
I/flutter ( 5210): RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
I/flutter ( 5210): This probably means that it is a render object that tries to be as big as possible, but it was put
I/flutter ( 5210): inside another render object that allows its children to pick their own size.
I/flutter ( 5210): The nearest ancestor providing an unbounded height constraint is:
I/flutter ( 5210): _RenderSingleChildViewport#89ed7 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): creator: _SingleChildViewport ← _ScrollableScope ← IgnorePointer-[GlobalKey#fde50] ← Semantics ←
I/flutter ( 5210): Listener ← _GestureSemantics ←
I/flutter ( 5210): RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#c830f] ←
I/flutter ( 5210): _ExcludableScrollSemantics-[GlobalKey#cf513] ← RepaintBoundary ← CustomPaint ← RepaintBoundary ←
I/flutter ( 5210): NotificationListener<ScrollNotification> ← ⋯
I/flutter ( 5210): parentData: <none> (can use size)
I/flutter ( 5210): constraints: BoxConstraints(w=411.4, h=683.4)
I/flutter ( 5210): size: MISSING
I/flutter ( 5210): The constraints that applied to the RenderCustomMultiChildLayoutBox were:
I/flutter ( 5210): BoxConstraints(w=411.4, 0.0<=h<=Infinity)
I/flutter ( 5210): The exact size it was given was:
I/flutter ( 5210): Size(411.4, Infinity)
I/flutter ( 5210): See https://flutter.io/layout/ for more information.
I/flutter ( 5210):
I/flutter ( 5210): When the exception was thrown, this was the stack:
I/flutter ( 5210): #0 RenderBox.debugAssertDoesMeetConstraints.<anonymous closure> (package:flutter/src/rendering/box.dart:1713:9)
I/flutter ( 5210): #1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:1787:6)
I/flutter ( 5210): #2 RenderBox.size=.<anonymous closure> (package:flutter/src/rendering/box.dart:1507:17)
I/flutter ( 5210): #3 RenderBox.size= (package:flutter/src/rendering/box.dart:1507:65)
I/flutter ( 5210): #4 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:354:5)
I/flutter ( 5210): #5 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #6 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #8 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #9 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1143:11)
I/flutter ( 5210): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #11 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:479:13)
I/flutter ( 5210): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #13 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #15 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #17 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #19 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #20 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #21 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #23 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #25 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #27 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #29 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #32 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #33 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #35 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #37 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #39 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #40 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #41 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #42 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #43 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #44 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2831:13)
I/flutter ( 5210): #45 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #46 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:520:15)
I/flutter ( 5210): #47 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #48 __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #49 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #50 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #51 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #52 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #53 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #54 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #55 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #56 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #57 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #58 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter ( 5210): #59 RenderObject.layout (package:flutter/src/rendering/object.dart:1576:7)
I/flutter ( 5210): #60 RenderView.performLayout (package:flutter/src/rendering/view.dart:125:13)
I/flutter ( 5210): #61 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1451:7)
I/flutter ( 5210): #62 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:710:18)
I/flutter ( 5210): #63 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter ( 5210): #64 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
I/flutter ( 5210): #65 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter ( 5210): #66 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter ( 5210): #67 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter ( 5210): #68 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter ( 5210): #70 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter ( 5210): #71 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter ( 5210): #72 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)
I/flutter ( 5210): (elided one frame from package dart:async)
I/flutter ( 5210):
I/flutter ( 5210): The following RenderObject was being processed when the exception was fired:
I/flutter ( 5210): RenderCustomMultiChildLayoutBox#eb8b9 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): creator: CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ←
I/flutter ( 5210): _InkFeatures-[GlobalKey#3eaee ink renderer] ← NotificationListener<LayoutChangedNotification> ←
I/flutter ( 5210): PhysicalModel ← AnimatedPhysicalModel ← Material ← PrimaryScrollController ← _ScaffoldScope ←
I/flutter ( 5210): Scaffold ← ⋯
I/flutter ( 5210): parentData: <none> (can use size)
I/flutter ( 5210): constraints: BoxConstraints(w=411.4, 0.0<=h<=Infinity)
I/flutter ( 5210): size: Size(411.4, Infinity)
I/flutter ( 5210): This RenderObject had the following descendants (showing up to depth 5):
I/flutter ( 5210): RenderRepaintBoundary#62484 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderCustomPaint#ee167 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderRepaintBoundary#44385 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): _RenderExcludableScrollSemantics#ef2e6 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderSemanticsGestureHandler#bc5d6 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderConstrainedBox#39c3a NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderSemanticsAnnotations#1c8b4 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderPhysicalModel#f70a8 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): _RenderInkFeatures#c0f45 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderPositionedBox#8924a NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderStack#a0002 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderTransform#ca415 NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): RenderTransform#c49ab NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 5210): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 5210): Another exception was thrown: _RenderInkFeatures object was given an infinite size during layout.
I/flutter ( 5210): Another exception was thrown: RenderPhysicalModel object was given an infinite size during layout.
I/flutter ( 5210): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#62484 NEEDS-LAYOUT NEEDS-PAINT
D/ ( 5210): HostConnection::get() New Host Connection established 0xa77888c0, tid 5232
D/EGL_emulation( 5210): eglMakeCurrent: 0xa301bbc0: ver 3 1 (tinfo 0xa7783210)
I know that there is a workaround explained here https://docs.flutter.io/flutter/widgets/SingleChildScrollView-class.html but for such a standard requirement of using Expanded inside a Column that must be able to scroll up when the keyboard appears there should be a better solution. @Hixie wrote that Scaffold would take care of this but obviously doesn't.
Please see also #18558 which shows another limitation of the workaround.
The sample app is here https://github.com/escamoteur/column_in_scrollable_repro
