Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振应用程序无法呈现,错误为“;“底部溢出无限像素”;_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 颤振应用程序无法呈现,错误为“;“底部溢出无限像素”;

Flutter 颤振应用程序无法呈现,错误为“;“底部溢出无限像素”;,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我正在尝试在我的应用程序中加入基于firebase的登录。 我在这里学习教程- 这是我的密码- @覆盖 小部件构建(构建上下文){ _isIos=Theme.of(context.platform==TargetPlatform.iOS; 归还新脚手架( appBar:新的appBar( 标题:新文本(“Vroom-专用拼车”), ), 主体:堆栈( 儿童:[ _showBody(), _showCircularProgress(), ], )); } Widget_showBody(){ 退回

我正在尝试在我的应用程序中加入基于firebase的登录。 我在这里学习教程-

这是我的密码-

@覆盖
小部件构建(构建上下文){
_isIos=Theme.of(context.platform==TargetPlatform.iOS;
归还新脚手架(
appBar:新的appBar(
标题:新文本(“Vroom-专用拼车”),
),
主体:堆栈(
儿童:[
_showBody(),
_showCircularProgress(),
],
));
}
Widget_showBody(){
退回新货柜(
填充:所有边缘设置(16.0),
儿童:新表格(
键:_formKey,
子:新列表视图(
收缩膜:对,
儿童:[
_showLogo(),
_showEmailInput(),
_showPasswordInput(),
_showPrimaryButton(),
_ShowSecondary按钮(),
_错误消息(),
],
),
));
}
小部件_showCircularProgress(){
如果(_isLoading){
返回中心(子项:CircularProgressIndicator());
}返回容器(高度:100,);
}
Widget_showLogo(){
回归新英雄(
标签:“英雄”,
孩子:填充(
填充:从LTRB(0.0,70.0,0.0,0.0)开始的边缘设置,
孩子:圆环星(
背景颜色:颜色。透明,
半径:48.0,
子项:Image.asset('assets/flattericon.png'),
),
),
);
}
小部件_showEmailInput(){
返回填充(
填充:从LTRB(0.0,15.0,0.0,0.0)开始的常数边集,
子项:新建TextFormField(
maxLines:1,
键盘类型:TextInputType.emailAddress,
自动对焦:错误,
装饰:新的输入装饰(
hintText:“电子邮件”,
图标:新图标(
Icons.mail,
颜色:颜色。灰色,
)),
验证器:(值){
if(value.isEmpty){
返回“请输入电子邮件地址!”;
}
if(EmailValidator.validate(值)){
return“请输入有效的电子邮件地址!”;
}
返回null;
},
onSaved:(value)=>\u email=value.trim(),
),
);
}
小部件_showPasswordInput(){
返回填充(
填充:从LTRB(0.0,15.0,0.0,0.0)开始的常数边集,
子项:新建TextFormField(
maxLines:1,
蒙昧文字:对,
自动对焦:错误,
装饰:新的输入装饰(
hintText:'密码',
图标:新图标(
Icons.lock,
颜色:颜色。灰色,
)),
验证程序:(value)=>value.isEmpty?“请输入密码”:null,
onSaved:(value)=>\u password=value.trim(),
),
);
}
小部件_showSecondaryButton(){
返回新的扁平按钮(
子项:_formMode==formMode.LOGIN
?新文本(“创建帐户”,
样式:新文本样式(fontSize:18.0,fontWeight:fontWeight.w300))
:新建文本('拥有帐户?登录',
风格:
新的文本样式(fontSize:18.0,fontWeight:fontWeight.w300)),
onPressed:_formMode==formMode.LOGIN
?\u更改为注册
:_changeFormToLogin,
);
}
小部件_showPrimaryButton(){
返回新的填充(
填充:从LTRB(0.0,45.0,0.0,0.0)开始的边缘设置,
孩子:大小盒子(
身高:40.0,
孩子:新升起的按钮(
标高:5.0,
形状:新的RoundedRectangleBorder(borderRadius:新的borderRadius.circular(30.0)),
颜色:颜色,蓝色,
子项:_formMode==formMode.LOGIN
?新文本('登录',
样式:新文本样式(fontSize:20.0,颜色:Colors.white))
:新文本('创建帐户',
样式:新文本样式(fontSize:20.0,颜色:Colors.white)),
按下时:_validateAndSubmit,
),
));
}
小部件(消息){
如果(_errorMessage.length>0&&u errorMessage!=null){
返回新文本(
_错误消息,
样式:TextStyle(
字体大小:13.0,
颜色:颜色,红色,
高度:1.0,
fontWeight:fontWeight.w300),
);
}否则{
返回null;
}
}
我试着从
Scaffold
中删除
堆栈
,并且一直在尝试将我的旧小部件放到表单中,但似乎无法修复它

这是堆栈跟踪-

flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during performLayout():
flutter: FlutterError contained multiple error summaries.
flutter: All FlutterError objects should have only a single short (one line) summary description of the
flutter: problem that was detected.
flutter: Malformed FlutterError:
flutter:   RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
flutter:   This probably means that it is a render object that tries to be as big as possible, but it was put
flutter:   inside another render object that allows its children to pick their own size.
flutter:   RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
flutter:   This probably means that it is a render object that tries to be as big as possible, but it was put
flutter:   inside another render object that allows its children to pick their own size.
flutter:   The nearest ancestor providing an unbounded height constraint is: RenderFlex#6fcb6 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE OVERFLOWING:
flutter:     needs compositing
flutter:     creator: Column ← Center ← MediaQuery ← LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ←
flutter:       AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#c780d ink
flutter:       renderer] ← NotificationListener<LayoutChangedNotification> ← PhysicalModel ←
flutter:       AnimatedPhysicalModel ← ⋯
flutter:     parentData: offset=Offset(0.0, 0.0) (can use size)
flutter:     constraints: BoxConstraints(0.0<=w<=414.0, 0.0<=h<=796.0)
flutter:     size: Size(414.0, 796.0)
flutter:     direction: vertical
flutter:     mainAxisAlignment: start
flutter:     mainAxisSize: max
flutter:     crossAxisAlignment: center
flutter:     verticalDirection: down
flutter:   The constraints that applied to the RenderCustomMultiChildLayoutBox were:
flutter:     BoxConstraints(0.0<=w<=414.0, 0.0<=h<=Infinity)
flutter:   The exact size it was given was:
flutter:     Size(414.0, Infinity)
flutter:   See https://flutter.dev/docs/development/ui/layout/box-constraints for more information.
flutter:
flutter: The malformed error has 2 summaries.
flutter: Summary 1: RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
flutter: Summary 2: RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
flutter:
flutter: This error should still help you solve your problem, however please also report this malformed error
flutter: in the framework by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=BUG.md
flutter:
flutter: When the exception was thrown, this was the stack:
[38;5;244mflutter: #0      new FlutterError.fromParts.<anonymous closure>[39;49m
[38;5;244mflutter: #1      new FlutterError.fromParts[39;49m
[38;5;244mflutter: #2      RenderBox.debugAssertDoesMeetConstraints.<anonymous closure>[39;49m
[38;5;244mflutter: #3      RenderBox.debugAssertDoesMeetConstraints[39;49m
[38;5;244mflutter: #4      RenderBox.size=.<anonymous closure>[39;49m
[38;5;244mflutter: #5      RenderBox.size=[39;49m
[38;5;244mflutter: #6      RenderCustomMultiChildLayoutBox.performLayout[39;49m
[38;5;244mflutter: #7      RenderObject.layout[39;49m
[38;5;244mflutter: #8      _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #9      RenderObject.layout[39;49m
[38;5;244mflutter: #10     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #11     _RenderCustomClip.performLayout[39;49m
[38;5;244mflutter: #12     RenderObject.layout[39;49m
[38;5;244mflutter: #13     RenderFlex.performLayout[39;49m
[38;5;244mflutter: #14     RenderObject.layout[39;49m
[38;5;244mflutter: #15     RenderPositionedBox.performLayout[39;49m
[38;5;244mflutter: #16     RenderObject.layout[39;49m
[38;5;244mflutter: #17     MultiChildLayoutDelegate.layoutChild[39;49m
[38;5;244mflutter: #18     _ScaffoldLayout.performLayout[39;49m
[38;5;244mflutter: #19     MultiChildLayoutDelegate._callPerformLayout[39;49m
[38;5;244mflutter: #20     RenderCustomMultiChildLayoutBox.performLayout[39;49m
[38;5;244mflutter: #21     RenderObject.layout[39;49m
[38;5;244mflutter: #22     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #23     RenderObject.layout[39;49m
[38;5;244mflutter: #24     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #25     _RenderCustomClip.performLayout[39;49m
[38;5;244mflutter: #26     RenderObject.layout[39;49m
[38;5;244mflutter: #27     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #28     RenderObject.layout[39;49m
[38;5;244mflutter: #29     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #30     RenderObject.layout[39;49m
[38;5;244mflutter: #31     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #32     RenderObject.layout[39;49m
[38;5;244mflutter: #33     RenderStack.performLayout[39;49m
[38;5;244mflutter: #34     RenderObject.layout[39;49m
[38;5;244mflutter: #35     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #36     RenderObject.layout[39;49m
[38;5;244mflutter: #37     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #38     RenderObject.layout[39;49m
[38;5;244mflutter: #39     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #40     RenderObject.layout[39;49m
[38;5;244mflutter: #41     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #42     RenderObject.layout[39;49m
[38;5;244mflutter: #43     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #44     RenderObject.layout[39;49m
[38;5;244mflutter: #45     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #46     RenderOffstage.performLayout[39;49m
[38;5;244mflutter: #47     RenderObject.layout[39;49m
[38;5;244mflutter: #48     RenderStack.performLayout[39;49m
[38;5;244mflutter: #49     RenderObject.layout[39;49m
[38;5;244mflutter: #50     __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #51     RenderObject.layout[39;49m
[38;5;244mflutter: #52     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #53     RenderObject.layout[39;49m
[38;5;244mflutter: #54     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #55     RenderObject.layout[39;49m
[38;5;244mflutter: #56     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #57     RenderObject.layout[39;49m
[38;5;244mflutter: #58     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #59     RenderObject.layout[39;49m
[38;5;244mflutter: #60     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout[39;49m
[38;5;244mflutter: #61     RenderObject.layout[39;49m
[38;5;244mflutter: #62     RenderView.performLayout[39;49m
[38;5;244mflutter: #63     RenderObject._layoutWithoutResize[39;49m
[38;5;244mflutter: #64     PipelineOwner.flushLayout[39;49m
[38;5;244mflutter: #65     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame[39;49m
[38;5;244mflutter: #66     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame[39;49m
[38;5;244mflutter: #67     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback[39;49m
[38;5;244mflutter: #68     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback[39;49m
[38;5;244mflutter: #69     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame[39;49m
[38;5;244mflutter: #70     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure>[39;49m
[38;5;244mflutter: #72     _Timer._runTimers  (dart:isolate-patch/timer_impl.dart:382:19)[39;49m
[38;5;244mflutter: #73     _Timer._handleMessage  (dart:isolate-patch/timer_impl.dart:416:5)[39;49m
[38;5;244mflutter: #74     _RawReceivePortImpl._handleMessage  (dart:isolate-patch/isolate_patch.dart:172:12)[39;49m
flutter: (elided one frame from package dart:async-patch)
flutter:
flutter: The following RenderObject was being processed when the exception was fired: RenderCustomMultiChildLayoutBox#92e49 relayoutBoundary=up5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
flutter:   needs compositing
flutter:   creator: CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ←
flutter:     _InkFeatures-[GlobalKey#2e3cd ink renderer] ← NotificationListener<LayoutChangedNotification> ←
flutter:     PhysicalModel ← AnimatedPhysicalModel ← Material ← PrimaryScrollController ← _ScaffoldScope ←
flutter:     Scaffold ← ⋯
flutter:   parentData: <none> (can use size)
flutter:   constraints: BoxConstraints(0.0<=w<=414.0, 0.0<=h<=Infinity)
flutter:   size: Size(414.0, Infinity)
flutter: This RenderObject had the following descendants (showing up to depth 5):
flutter:     child 1: RenderStack#5c359 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:       child 1: RenderPadding#4dbd0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:         child: _RenderScrollSemantics#fa036 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:           child: RenderPointerListener#f9d94 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:             child: RenderSemanticsGestureHandler#0811d NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:       child 2: RenderConstrainedBox#bfa84 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:         child: RenderLimitedBox#5e655 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:           child: RenderConstrainedBox#09e70 NEEDS-LAYOUT NEEDS-PAINT
flutter:     child 2: RenderConstrainedBox#0af7b NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:       child: RenderSemanticsAnnotations#392dd NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:         child: RenderAnnotatedRegion<SystemUiOverlayStyle>#1a056 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
Reloaded 2 of 460 libraries in 413ms.
flutter:           child: RenderPhysicalModel#1c1a6 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:             child: _RenderInkFeatures#e54f0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:     child 3: RenderStack#00dd6 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:       child 1: RenderTransform#32881 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:         child: RenderTransform#f74bd NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter:     child 4: RenderPointerListener#c61fe NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: FlutterError contained multiple error summaries.
flutter: Another exception was thrown: FlutterError contained multiple error summaries.
flutter: Another exception was thrown: A RenderFlex overflowed by Infinity pixels on the bottom.
颤振:══╡ 呈现库捕获到异常╞═════════════════════════════════════════════════════════
颤振:在performLayout()期间抛出了以下断言:
颤振:颤振错误包含多个错误摘要。
颤振:所有颤振错误对象应该只有一个简短(一行)的
颤振:检测到的问题。
颤振:格式错误的颤振错误:
颤振:在布局过程中,RenderCustomMultiChildLayoutBox对象的大小为无限大。
颤振:这可能意味着它是一个试图尽可能大的渲染对象,但它被放置了
颤振:在另一个渲染对象内,允许其子对象选择自己的大小。
颤振:在布局过程中,RenderCustomMultiChildLayoutBox对象的大小为无限大。
颤振:这可能意味着它是一个试图尽可能大的渲染对象,但它被放置了
颤振:在另一个渲染对象内,允许其子对象选择自己的大小。
颤振:提供无界高度约束的最近祖先是:RenderFlex#6fcb6 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE溢出:
颤振:需要合成
颤振:crea
resizeToAvoidBottomInset: false, // to Scaffold
SingleChildScrollView(
        child:// your UI
)
@override
Widget build(BuildContext context) {
  return new Scaffold(
    appBar: new AppBar(
      title: new Text('Vroom - Exclusive carpool'),
    ),
    body: Stack(
      children: <Widget>[
        _showBody(),
        _showCircularProgress(),
      ],
    ),
  );
}

Widget _showBody() {
  return new Container(
    padding: EdgeInsets.all(16.0),
    child: new Form(
      child: new ListView(
        shrinkWrap: true,
        children: <Widget>[
          _showLogo(),
          _showEmailInput(),
          _showPasswordInput(),
          _showPrimaryButton(),
          _showSecondaryButton(),
          _showErrorMessage(),
        ],
      ),
    ),
  );
}

bool _isLoading = false;

Widget _showCircularProgress() {
  if (_isLoading) {
    return Center(child: CircularProgressIndicator());
  }
  return Container(
    height: 100,
  );
}

Widget _showLogo() {
  return new Hero(
    tag: 'hero',
    child: Padding(
      padding: EdgeInsets.fromLTRB(0.0, 90.0, 0.0, 0.0),
      child: CircleAvatar(
        backgroundColor: Colors.transparent,
        radius: 48.0,
        child: Placeholder(),
      ),
    ),
  );
}

Widget _showEmailInput() {
  return Padding(
    padding: const EdgeInsets.fromLTRB(0.0, 15.0, 0.0, 0.0),
    child: new TextFormField(
      maxLines: 1,
      keyboardType: TextInputType.emailAddress,
      autofocus: false,
      decoration: new InputDecoration(
        hintText: 'Email',
        icon: new Icon(
          Icons.mail,
          color: Colors.grey,
        ),
      ),
    ),
  );
}

Widget _showPasswordInput() {
  return Padding(
    padding: const EdgeInsets.fromLTRB(0.0, 15.0, 0.0, 0.0),
    child: new TextFormField(
      maxLines: 1,
      obscureText: true,
      autofocus: false,
      decoration: new InputDecoration(
          hintText: 'Password',
          icon: new Icon(
            Icons.lock,
            color: Colors.grey,
          )),
      validator: (value) => value.isEmpty ? 'Please enter your password' : null,
    ),
  );
}

Widget _showSecondaryButton() {
  return FlatButton(
    child: Text("Secondary button"),
    onPressed: () {},
  );
}

Widget _showPrimaryButton() {
  return new Padding(
    padding: EdgeInsets.fromLTRB(0.0, 45.0, 0.0, 0.0),
    child: SizedBox(
      height: 40.0,
      child: new RaisedButton(
        elevation: 5.0,
        shape: new RoundedRectangleBorder(borderRadius: new BorderRadius.circular(30.0)),
        color: Colors.blue,
        onPressed: (){},
        child: Text("Primary Button"),
      ),
    ),
  );
}

Widget _showErrorMessage() {
  return Text("This is your error message.");
}
body:  SingleChildScrollView(
   child: Stack(
     children: <Widget>[
    _showBody(),
    _showCircularProgress(),
  ],
  ),
 ),