Сделать часть экрана прокручиваемой во Флаттере - PullRequest
1 голос
/ 18 марта 2019

Я хочу сделать только часть моего экрана прокручиваемой. Когда количество элементов в моем ListView превышает 4 или 5, я не могу разместить какие-либо виджеты под этим списком. Я не уверен, есть ли способ обернуть все содержимое списка, чтобы сделать его прокручиваемым.

  ListView(
    shrinkWrap: true,
    physics: NeverScrollableScrollPhysics(),
    children: _getListings(businessListing),
  ),

Это мой ListView, и вот как выглядит пользовательский интерфейс

here

Проблема в том, что количество RadioTile превышает 8; textField и Button выталкиваются за пределы экрана. Мне интересно, хорошо ли сделать весь экран прокручиваемым? Или сделать только часть экрана с прокруткой RadioTiles?

Спасибо

1 Ответ

3 голосов
/ 18 марта 2019

Необходимо учитывать несколько моментов:

  1. Если вы планируете иметь больше полей ниже RadioTiles, а также URL-адрес из списка Google и кнопку Сохранить, то это можетбудет хорошим вариантом сохранить весь экран прокручиваемым.

  2. С другой стороны, если это будет всего лишь две вещи ниже RadioTiles, то было бы лучше сохранитьтолько список RadioTile для прокрутки.Таким образом, TextField и кнопка Сохранить всегда будут доступны пользователю без необходимости прокрутки.

  3. Кроме того, вы можете выбрать прокрутку в зависимости от приоритета полей,Если TextField и кнопка «Сохранить» имеют больший приоритет, то было бы лучше, если бы они всегда были видны на экране.

Чтобы сделать прокрутку только частью экрана, можно выполнить переносListView в Container с некоторой фиксированной высотой, так что он будет прокручиваться только в этих пределах.

Вам также потребуется изменить свойство physics на AlwaysScrollableScrollPhysics().

Пример -

Container(
  height: 300.0 //Your custom height
  child: ListView(
    shrinkWrap: true,
    physics: AlwaysScrollableScrollPhysics(),
    children: _getListings(businessListing),
  ),
)
...