Невозможно использовать MediaQuery внутри ListView - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь сделать так, чтобы мой контейнер занимал 80% доступного места. Он работает, когда я заменяю ListView на Column, но не работает, когда я использую ListView. Почему он так себя ведет?

Вот мой код:

ListView(
 children: <Widget>[
  Container(
   width: MediaQuery.of(context).size.width * .8,
  )
 ]
)

1 Ответ

1 голос
/ 26 мая 2020

Большая заслуга pskink за его решение. Он решил эту проблему, используя виджет Row вместе с тремя Expanded виджетами. Установка свойства Flex каждого виджета Expanded позволяет мне сделать мой контейнер занимающим 80% ширины. Вот как я это сделал на основе решения @ pskink:

Row(
 children: <Widget>[
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
  Expanded(
    flex: 8,
    child: Container()
  ),
  Expanded(
    flex: 1,
    child: SizedBox(),
  ),
 ]
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...