Infinity constrained

705 views
Skip to first unread message

alvaro arcas

unread,
Apr 28, 2017, 5:56:13 AM4/28/17
to Flutter Dev
@override
Widget build(BuildContext context) {
 
return new Scaffold(
      body
: new Container(
          color
: Colors.green,
          child
: new Form(
              child
: new Column(
                  mainAxisSize
: MainAxisSize.max,
                  children
: <Widget>[
                   
new TextFormField(),
                       
new Row(
                            mainAxisSize
: MainAxisSize.max,
                            children
: <Widget>[
                             
new TextFormField(),
                             
new IconButton(
                                  icon
: new Icon(Icons.remove_red_eye),
                                  onPressed
: _hidePasswordContent)
                           
]
                       
)
                 
]
             
)
         
)
     
)
 
);
}

I got a problem with infinity constrained and i really dont know why. Any want can help?
I want height and width to be as big as possible.
This is the error trace.
I/flutter (14821): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (14821): The following assertion was thrown during performLayout():
I/flutter (14821): BoxConstraints forces an infinite width.
I/flutter (14821): These invalid constraints were provided to RenderStack's layout() function by the following
I/flutter (14821): function, which probably computed the invalid constraints in question:
I/flutter (14821):   RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:260:13)
I/flutter (14821): The offending constraints were:
I/flutter (14821):   BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
I/flutter (14821): 
I/flutter (14821): When the exception was thrown, this was the stack:
I/flutter (14821): #0      BoxConstraints.debugAssertIsValid.<anonymous closure>.throwError (package:flutter/src/rendering/box.dart:393:9)
I/flutter (14821): #1      BoxConstraints.debugAssertIsValid.<anonymous closure> (package:flutter/src/rendering/box.dart:434:21)
I/flutter (14821): #3      BoxConstraints.debugAssertIsValid (package:flutter/src/rendering/box.dart:388:12)
I/flutter (14821): #4      RenderObject.layout (package:flutter/src/rendering/object.dart:1767:24)
I/flutter (14821): #5      RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:260:13)
I/flutter (14821): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #7      RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #9      RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #11     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:500:15)
I/flutter (14821): #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #13     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:500:15)
I/flutter (14821): #14     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #15     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #17     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:124:11)
I/flutter (14821): #18     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:85:7)
I/flutter (14821): #19     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:194:7)
I/flutter (14821): #20     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:338:14)
I/flutter (14821): #21     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #22     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #23     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #24     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #25     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #26     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #27     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #28     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #29     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #30     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #31     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #32     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #33     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #34     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #35     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2462:26)
I/flutter (14821): #36     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #37     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #38     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #39     RenderStack.performLayout (package:flutter/src/rendering/stack.dart:356:15)
I/flutter (14821): #40     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #41     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #42     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #43     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #44     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #45     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #46     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #47     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #48     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #49     RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:100:13)
I/flutter (14821): #50     RenderObject.layout (package:flutter/src/rendering/object.dart:1850:7)
I/flutter (14821): #51     RenderView.performLayout (package:flutter/src/rendering/view.dart:120:13)
I/flutter (14821): #52     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1727:7)
I/flutter (14821): #53     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1044:18)
I/flutter (14821): #54     BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding.beginFrame (package:flutter/src/rendering/binding.dart:225:19)
I/flutter (14821): #55     BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding&WidgetsBinding.beginFrame (package:flutter/src/widgets/binding.dart:354:23)
I/flutter (14821): #56     BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:170:5)
I/flutter (14821): #57     BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:645:15)
I/flutter (14821): #58     BindingBase&SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:580:9)
I/flutter (14821): #59     runApp (package:flutter/src/widgets/binding.dart:432:7)
I/flutter (14821): #60     main (/data/user/0/com.yourcompany.OpenSprinkler/cache/OpenSprinklerjVFEi1/OpenSprinkler/lib/main.dart:10:3)
I/flutter (14821): #61     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:265)
I/flutter (14821): #62     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
I/flutter (14821): (elided one frame from class _AssertionError)
I/flutter (14821): 
I/flutter (14821): The following RenderObject was being processed when the exception was fired:
I/flutter (14821):   RenderConstrainedBox#275524408 relayoutBoundary=up6 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821):   creator: ConstrainedBox ← InputDecorator ← AnimatedBuilder ← Listener ← _GestureSemantics ←
I/flutter (14821):   RawGestureDetector ← GestureDetector ← TextField ← TextFormField ← Row ← Column ← _FormScope ← ⋯
I/flutter (14821):   parentData: <none>
I/flutter (14821):   constraints: BoxConstraints(unconstrained)
I/flutter (14821):   size: MISSING
I/flutter (14821):   additionalConstraints: BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
I/flutter (14821): This RenderObject had the following descendants (showing up to depth 5):
I/flutter (14821):   RenderStack#915599170 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821):     RenderPadding#781518032 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821):       RenderDecoratedBox#1045617164 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821):         RenderPadding#1067169868 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821):           RenderRepaintBoundary#989353032 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (14821): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1355 pos 12: 'hasSize': is not true.
I/flutter (14821): Another exception was thrown: Tried to paint a RenderObject before it was laid out.
Restarted app in 2,3s.



Adam Barth

unread,
Apr 28, 2017, 10:36:04 AM4/28/17
to alvaro arcas, Flutter Dev
I suspect the problem is that the second TextFormField doesn't know how wide you want it to be.  By default, the Row doesn't constraint its width.  You probably want to wrap it in an Expanded, which forces it to fill whatever space isn't used by the IconButton.


--
You received this message because you are subscribed to the Google Groups "Flutter Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

santiago wong

unread,
Nov 14, 2017, 10:35:11 AM11/14/17
to Flutter Dev
Haha, Thank you, that's the problem.

在 2017年4月28日星期五 UTC+8下午10:36:04,Adam Barth写道:
Reply all
Reply to author
Forward
0 new messages