为什么不能将孩子 []放在正文中:中心小部件?

问题描述 投票:0回答:3

[我正在尝试在Flutter应用程序上创建一个带有浮动操作按钮的listview小部件,但由于Android Studio一直在告诉我这一点而无法正常工作:

  • “未定义命名参数的子级”
  • 我基本上不能将孩子放在体内:中心小部件,但我不知道为什么

我基本上是Flutter的初学者,对于基本语法以及哪些小部件可以容纳哪些小部件,我仍然有些困惑,因此,非常感谢您的帮助!谢谢!

这是由于第一个错误(在上面的引号中)导致我的整体代码无法运行:

import 'package:flutter/material.dart';

  void main() => runApp(MaterialApp(

    home: Home(),

  ));

  class Home extends StatelessWidget {
    @override
    Widget build(BuildContext context) {

      return Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.green[300],
          title: Text(
            'Welcome',
            style: TextStyle(
              fontSize: 25.0,
              fontFamily: 'Raleway',
              letterSpacing: 1.0,
            ),
          ),
          centerTitle: true,
        ),
        body: Center(
            children: <Widget> [
              ListView(
                children: <Widget>[
                  Container(
                    height: 50,
                    color: Colors.green[100],
                    child: Text(
                        'Body Text',
                        style: TextStyle(
                          fontFamily: 'Raleway',
                          fontSize: 45.0,
                          letterSpacing: 1.0,
                          color: Colors.green[300],
                        ),
                      ),
                  ),

                  Container(
                    height: 50,
                    color: Colors.green[100],
                    child: Text(
                      'Text'
                    ),
                  ),
                ],
            ),

            FloatingActionButton(
                onPressed: () {},
                child: Text(
                  '+',
                  style: TextStyle(
                    fontFamily: 'Raleway',
                    fontSize: 35.0,
                  ),
                ),
                backgroundColor: Colors.green[300],
              ),
            ]
        ),
      );

    }
  }
ios flutter syntax widget
3个回答
0
投票
很简单。因为Center是一个小部件,输入的内容不多于小部件上的输入。

它只能对齐作为Center提供的一个小部件。

对于多子女,您必须使用一些小部件,该小部件将小部件列表作为输入。喜欢:

    专栏
  • 列表
  • 包装等

0
投票
中心仅在child接受一个小部件检查布局页面

https://flutter.dev/docs/development/ui/layout


0
投票
有两种类型的小部件,其中一种将小部件作为子代接受,另一种将[Widget]作为子代接受。

将小部件作为子部件接受: 中心小部件,填充小部件等

[接受[Widget]作为子代:行Widget,列Widget,堆栈Widget,Wrap Widget等)>


0
投票
Column(mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, children: <Widget> [ ListView( children: <Widget>[ Container( height: 50, color: Colors.green[100], child: Text( 'Body Text', style: TextStyle( fontFamily: 'Raleway', fontSize: 45.0, letterSpacing: 1.0, color: Colors.green[300], ), ), ), Container( height: 50, color: Colors.green[100], child: Text( 'Text' ), ), ], ), FloatingActionButton( onPressed: () {}, child: Text( '+', style: TextStyle( fontFamily: 'Raleway', fontSize: 35.0, ), ), backgroundColor: Colors.green[300], ), ] ), ); 是一个小部件,其子元素位于其内部。
© www.soinside.com 2019 - 2024. All rights reserved.