簡體   English   中英

Flutter ListView inside Card

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM