如何将容器垂直拉伸到最大屏幕?

Edg*_*nov 2 dart flutter flutter-layout

body: SafeArea(
      child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          children: <Widget>[
        Container(
          width: 100.00,
          height: 100.00,
          color: Colors.red,
        ),
      ])),
));
Run Code Online (Sandbox Code Playgroud)

目前,高度为 100.00,但我需要将其拉伸到无穷大。

我试图将高度更改为 double.infinity:

Container(
          width: 100.00,
          height: double.infinity,
          color: Colors.red,
Run Code Online (Sandbox Code Playgroud)

但后来我收到以下错误:

在 performLayout() 期间抛出以下断言: BoxConstraints 强制无限高度。

voi*_*oid 5

为此,您可以:

1) 使用一个叫做Expanded小部件的小部件。

body: SafeArea(
      child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          children: <Widget>[
       Expanded(
          child: Container(
            color: Colors.red,
          ),
        ),
      ])),
));
Run Code Online (Sandbox Code Playgroud)

2)使用类给出设备屏幕的ContaineraheightwidthMediaQuery

body: SafeArea(
      child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          children: <Widget>[
        Container(
          // give it a width equals to the device screen
          width: MediaQuery.of(context).size.width,
          // give it a height equals to the device screen
          height: MediaQuery.of(context).size.height,
          color: Colors.red,
        ),
      ])),
));
Run Code Online (Sandbox Code Playgroud)