SingleChildScrollView с Column как дочерний элемент против ListView - PullRequest
1 голос
/ 12 февраля 2020

Есть ли разница в производительности между ними? Какой из них более идиоматический c? Или когда я должен использовать какой?

Один плюс использования SingleChildScrollView с Column child - это свойства Column (mainAxisAlignment et c.).

UPDATE:

Я знаю о Listview.builder. Я использую его, когда хочу сделать список не коротким. Вопрос только в том, чтобы использовать ListView или SingleChildScrollView, поскольку не все содержимое помещается на текущем экране, поэтому его необходимо прокручивать.

Ответы [ 3 ]

1 голос
/ 12 февраля 2020

Я был в вашей ситуации раньше, я лично предпочитаю ListView с функцией сборки, если вы строите много детей, если это не так, и у вас есть фиксированное количество детей. SingleChildScrollView будет удобен, особенно если он вложен в другой Scrollable. Виджеты.

, если проблема заключается в производительности. Функция построителя ListView по-прежнему является лучшим выбором, поскольку она лениво создает дочерние виджеты.

1 голос
/ 12 февраля 2020

В случае столбца

вы пропустите следующее: Конструктор ListView.builder принимает IndexedWidgetBuilder, который создает дочерние элементы по требованию. Этот конструктор подходит для представлений списка с большим (или бесконечным) числом детей, поскольку конструктор вызывается только для тех детей, которые действительно видимы.

Подробнее см. https://api.flutter.dev/flutter/widgets/ListView-class.html

0 голосов
/ 12 февраля 2020

Я бы сказал, используйте SingleChildScrollView, когда вы хотите, чтобы ваш список / контент прокручивался, когда размер экрана слишком мал или содержимое переполняется. В противном случае используйте ListView / ListView.builder.

. По умолчанию SingleChildScrollView не прокручивается, но вы можете принудительно установить его, установив physics: AlwaysScrollableScrollPhysics().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...