如何在 Flutter 中让 ListView 中的项目覆盖整个屏幕

b k*_*b k 7 flutter flutter-layout flutter-listview

我想要一个具有固定数量项目的可滚动视图。第一个项目应覆盖父容器,然后用户可以向下滚动以查看其余项目。

我尝试将 Expanded 添加到第一项,但出现白屏

  ListView(
    children: <Widget>[
      Expanded(child: MainInfo(),),
      Divider(height: 2, color: Colors.black,),    
      MainInfo(),    
      Divider(height: 2, color: Colors.black,),    
      MainInfo(),  
      Divider(height: 2, color: Colors.black,),    
      MainInfo(),  
      Divider(height: 2, color: Colors.black,),    
      MainInfo(),   
    ],
  ),
Run Code Online (Sandbox Code Playgroud)

我应该使用 ListView 还是 SingleChildScrollView (也不适用于 Expanded)?

b k*_*b k 6

我已经成功地通过使用返回 ListView 的 LayoutBuilder 来实现这一点

LayoutBuilder(
      builder: (BuildContext context, BoxConstraints constraints) {
    return ListView(
      children: <Widget>[
        Container(
          child: MainInfo(),
          height: constraints.maxHeight,
        ),
        Divider(
          height: 2,
          color: Colors.black,
        ),
        MainInfo(),
        Divider(
          height: 2,
          color: Colors.black,
        ),
        MainInfo(),
        Divider(
          height: 2,
          color: Colors.black,
        ),
        MainInfo(),
        Divider(
          height: 2,
          color: Colors.black,
        ),
        MainInfo(),
      ],
    );
  }),
Run Code Online (Sandbox Code Playgroud)