Как поместить элемент в ListView на весь экран во Flutter - PullRequest
0 голосов
/ 06 апреля 2019

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

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

0 голосов
/ 07 апреля 2019

Мне удалось сделать это с помощью 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(),
      ],
    );
  }),
0 голосов
/ 07 апреля 2019

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

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(),   
    ],
  ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...