我正在创建一个设置页面,布局是一个具有设置高度的容器,然后在其下方有一个列表视图,但是此列表视图需要设置高度;因此,当我将其包装在容器中并赋予其高度时,它可以工作,但是如果将其包装在扩展中,它将无法工作。
我尝试了很多事情,例如将其放入布局生成器中并将其高度设置为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的一部分,我需要它们。他们与我无关,无法解决此问题。请帮助,因为我需要此列表视图占用列中的所有可用空间而不会溢出。