我想要一个有 3 张卡片的屏幕。 一张卡是 CotrolWidget(固定高度的顶部),第二张是 MeasurementsList(在 Top 下面,应该垂直填充),第三张是 ChartWidget(在 Top 下面,在 MeasurementsList 的右边,应该垂直填充)。
return Scaffold(
appBar: AppBar(title: new Text('Measurements')),
body: new Container(
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(color: Colors.black12),
child: Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Row(children: [ControlsWidget(device)]),
Row(
children: <Widget>[
MeasurementList(device)
,
ChartWidget(device)
],
)
],
)),
);
在测量卡中,我想要一个 ListView。但是当我使用 Expaded 时,ListView 会扩展屏幕并且列表不可滚动
Widget build(BuildContext context) {
return Expanded(
flex: 1,
child: Card(
elevation: 4.0,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return ListTile(title: Text(measurements[index]));
},
itemCount: measurements.length,
shrinkWrap: true,
),
),
);
那么,如何创建一个里面有ListView的Card呢?
最佳答案
尝试使用 MediaQuery
获取高度。
MediaQueryData 查询数据;
queryData = MediaQuery.of(context);
然后在高度上使用
高度:queryData.size.height - height_of_ControlsWidget
关于listview - Flutter ListView 里面的卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52836229/