[英]Flutter ListView inside Card
我想要一個有 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; queryData = MediaQuery.of(context);
然后在高處使用
height: queryData.size.height - height_of_ControlsWidget
我也遇到了同樣的問題,但我厭倦了使用Flexible Widget而不是擴展的小部件。
通過鏈接查看此堆棧以獲得更好的理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.