Ошибка SingleChildScrollView с Column и ListView
У меня есть виджет SingleChildScrollView, который содержит дочерний столбец. Дочерний столбец содержит два пользовательских виджета. Первый настраиваемый виджет — это виджет карусельного слайдера. Второй настраиваемый виджет — это расширенный виджет, который содержит виджет SmartRefresher, содержащий
ListView
.
SingleChildScrollView(
child: Column(
children: [
CarouselSlider(...),
Expanded(
child: SmartRefresher(
child: ListView(...),
),
)
],
),
),
Причина, по которой я использую
SingleChildScrollView
заключается в том, что я хотел бы, чтобы ползунок карусели прокручивался вместе с представлением списка, когда пользователь начинает прокручивать представление списка, но я не хочу, чтобы
CarouselSlider
быть частью самого списка.
Когда я пытаюсь запустить код, я получаю следующую ошибку:
Когда возникло исключение, обрабатывался следующий RenderObject: RenderFlex#783cc relayoutBoundary=up17 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATERenderObject: RenderFlex#783cc relayoutBoundary=up17 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE требует компоновки parentData: (можно использовать размер) ограничения: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)size: MISSINGdirection: verticalmainAxisAlignment: startmainAxisSize: maxcrossAxisAlignment: centerverticalDirection: downchild 1: RenderPadding#8076a ПОТРЕБНОСТИ-РАЗМЕТКА ПОТРЕБНОСТИ-КРАСКА ПОТРЕБНОСТИ-КОМПОЗИЦИЯ-БИТЫ-ОБНОВЛЕНИЕ требует компоновки parentData: offset=Offset(0.0, 0.0); гибкий = ноль; fit=null ограничения: ОТСУТСТВУЕТ
Вот дерево виджетов:
1 ответ
SingleChildScrollView
обеспечивают бесконечную высоту и
Expanded
принимая бесконечную высоту, вызывающую проблему
вы можете просто сделать это,
SingleChildScrollView(
child: Column(
children: [
CarouselSlider(
items: [
...List.generate(
4,
(index) => Container(
color:
index.isEven ? Colors.amber : Colors.deepPurple,
))
],
options: CarouselOptions(),
),
...List.generate(
44,
(index) => Container(
height: 100,
color: index.isEven ? Colors.green : Colors.pink,
),
),
],
),
),