我想让一列内的列表视图占用所有可用空间

时间:2019-04-27 21:37:20

标签: dart flutter constraints

我正在创建一个设置页面,布局是一个具有设置高度的容器,然后在其下方有一个列表视图,但是此列表视图需要设置高度;因此,当我将其包装在容器中并赋予其高度时,它可以工作,但是如果将其包装在扩展中,它将无法工作。

我尝试了很多事情,例如将其放入布局生成器中并将其高度设置为BoxConstraints.maxHeight,以及许多其他应该起作用但不能起作用的技巧。

class Settings extends StatelessWidget {
  Settings({@required this.userInfo, @required this.licenseInfo});
  final userInfo;
  final licenseInfo;
  @override
  Widget build(BuildContext context) {
    double width = MediaQuery.of(context).size.width;
    double height = MediaQuery.of(context).size.height;
    return GestureDetector(
      onTap: () {
        FocusScope.of(context).requestFocus(new FocusNode());
        SystemChannels.textInput.invokeMethod('TextInput.hide');
      },
      child: Scaffold(
          resizeToAvoidBottomPadding: false,
          backgroundColor: Colors.transparent,
          appBar: AppBar(
            elevation: 0.0,
            backgroundColor: Color(0xFF77FDA7),
            title: Text('Settings',
                style: TextStyle(color: darkGrey, fontWeight: FontWeight.w600)),
          ),
          body: Column(
            children: <Widget>[
              Stack(
                children: <Widget>[
                  Container(
                    height: 91,
                    width: width,
                    decoration: BoxDecoration(gradient: greenGradient),
                  ),
                  Column(
                    mainAxisSize: MainAxisSize.max,
                    children: <Widget>[

                      SettingsProfile(
                          userInfo: this.userInfo,
                          licenseInfo: this.licenseInfo),
                      SizedBox(
                        height: 300,
                        child: SettingsList(),
                      ),
                    ],
                  ),
                ],
              ),
            ],
          )),
    );
  }
}

如您所见,这里有一个堆栈和另一列,但这只是UI的一部分,我需要它们。他们与我无关,无法解决此问题。请帮助,因为我需要此列表视图占用列中的所有可用空间而不会溢出。

0 个答案:

没有答案