Какие есть варианты виджетов сворачиваемых списков во Flutter?

Мне нужно, чтобы некоторые списки сворачивались по их темам в моем проекте, и мне интересно, нужно ли мне реализовать это с нуля или, скорее, использовать компонент из флаттера. Этот компонент существует?

Заранее спасибо :)

свернуть по своей теме ??
Shady Aziza 17.03.2018 14:35

Извините за непонятность. Я хочу, чтобы он выглядел как аккордеон, в котором содержимое разделов - ListViews

Jota Renan 17.03.2018 16:05
15
2
12 973
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В галерее Flutter есть два примера, которые могут иметь отношение к вашим спискам, подобным аккордеону.

Демонстрация панели расширения и Двухуровневая демонстрация списка

Демо-версия панели расширения - это, вероятно, то, что вам нужно. Если да, посмотрите, как в демонстрации используется ExpansionPanel и используются headerBuilder и body. Вы можете расширить это, чтобы сделать заголовок и тела настолько сложными, насколько вам нужно. Демонстрация галереи добавляет вспомогательный класс DemoItem. Вы можете использовать этот узор или придумать собственный дизайн.

Вот фрагмент, который показывает демонстрацию с использованием ExpansionPanelList путем передачи обратного вызова и списка DemoItem:

        child: new ExpansionPanelList(
          expansionCallback: (int index, bool isExpanded) {
            setState(() {
              _demoItems[index].isExpanded = !isExpanded;
            });
          },
          children: _demoItems.map((DemoItem<dynamic> item) {
            return new ExpansionPanel(
              isExpanded: item.isExpanded,
              headerBuilder: item.headerBuilder,
              body: item.build()
            );
          }).toList()
        ),

Спасибо. К сожалению, двухуровневые списки на данный момент устарели, поэтому я попробую ExpansionPanel!

Jota Renan 17.03.2018 17:17

@JotaRenan, где вы заметили, что он устарел? Я здесь ничего не видел в документации: github.com/flutter/flutter/blob/master/packages/flutter/lib/‌ src /…

Ashton Thomas 17.03.2018 17:43

VScode отмечает это: 'TwoLevelList' is deprecated and shouldn't be used.

Jota Renan 17.03.2018 18:48

Ах! @JotaRenan, да, TwoLevelList устарел, но в демонстрации используется ExpansionTile. Вот ссылка на демонстрацию с ExpansionTile с использованием ListTiles: github.com/flutter/flutter/blob/master/examples/flutter_gall ery /… Вот старая ссылка на DEPRECATED: TwoLevelList github.com/flutter/flutter/blob/…

Ashton Thomas 18.03.2018 12:23

Другие вопросы по теме