Создание двух разных списков в пользовательском представлении прокрутки - PullRequest
0 голосов
/ 31 января 2019

Как я могу построить два списка, которые будут отображаться по вертикали, так как создается один список элементов, а затем следует второй в этом вертикальном порядке.

1 Ответ

0 голосов
/ 31 января 2019

Этого можно добиться, используя CustomScrollView с SliverList .

Ваше решение будет выглядеть примерно так:

CustomScrollView(
  slivers: <Widget>[
    //list 1 (using builder)
    SliverList(
        delegate: SliverChildBuilderDelegate(
              (context, i) {
            return ListTile(...); // HERE goes your list item
          },
          childCount: 3,
        ),
    ),
    //list 2 (using list of widgets)
    SliverList(
        delegate: SliverChildListDelegate([
          ListTile(..),
          ListTile(..), //HERE goes your list item
        ]),
    ),
  ],
),

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

  1. SliverChildBuilderDelegate - требуется метод конструктора, который будет вызываться для построения виджета для каждого элемента списка.Это то же самое, что ListView.builder()
  2. SliverChildListDelegate - требуется список виджетов, которые будут элементами SliverList.Это так же, как ListView(children: ...)
...