Как поместить элемент в ListView на весь экран во Flutter

Я хочу иметь прокручиваемое представление с фиксированным количеством элементов. первый элемент должен покрывать родительский контейнер, а затем пользователь может прокрутить вниз, чтобы увидеть остальные элементы.

Я пытался добавить 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(),   
    ],
  ),

Должен ли я использовать ListView или SingleChildScrollView (не работал с Expanded также)?

2 ответа

Решение

Мне удалось сделать это с помощью LayoutBuilder, которые возвращают ListView

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(),
      ],
    );
  }),

Расширенные нельзя использовать внутри прокручиваемых виджетов. Вы можете сделать что-то вроде этого:

ListView(
    children: <Widget>[
      Container(height:MediaQuery.of(context).size.height,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(),   
    ],
  ),
Другие вопросы по тегам