user3808307
user3808307

Reputation: 1471

Why can I not use children array here? Flutter

I have this class, taken and changed from one of the examples

class SignUpView extends StatelessWidget {
  const SignUpView({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          width: 400,
          child: Card(
            child: SignUpForm(),
          ),
        ),
      ),
    );
  }
}

But if I want to put children , instead of child, like this

class SignUpView extends StatelessWidget {
  const SignUpView({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        children: [
          SizedBox(
            width: 400,
            child: Card(
              child: SignUpForm(),
            ),
          ),
        ],
      ),
    );
  }
}

It says The named parameter children isn't defined.

What if I want to put more than one child in the Center container?

Upvotes: 0

Views: 398

Answers (1)

Tirth Patel
Tirth Patel

Reputation: 5746

Center can only have a single child. Use something like Column, Row, or a ListView to use more than 1 widget for Center.

import 'package:flutter/material.dart';

class SignUpView extends StatelessWidget {
  const SignUpView({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ListView(
          children: [
            SizedBox(
              width: 400,
              child: Card(
                child: SignUpForm(),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Upvotes: 1

Related Questions