#flutter #dart
Вопрос:
Я использую ListView.builder() для отображения своих элементов списка, но элементы внутри фиксированного контейнера переполнены, и я не уверен, как это исправить. Вот такое поведение я получаю:
Выделенная область — это область, в которой элементы переполнены. Это код для представления списка:
Container(
height: size.height * .3,
child: Consumer<TodoProvider>(
builder: (context, todoProvider, child) {
return todoProvider.getTodos.length == 0
? Center(
child: Text('Your todos will appear here!'),
)
: ListView.builder(
physics: BouncingScrollPhysics(),
padding: EdgeInsets.all(0),
itemCount: todoProvider.getTodos.length,
itemBuilder: (context, index) {
// if element is not the first and the last then add padding
return (index != 0 amp;amp;
index !=
todoProvider.getTodos.length -
1)
? Padding(
padding:
const EdgeInsets.symmetric(
vertical: 5),
child: CustomListTile(todoProvider
.getTodos[index].title),
)
: CustomListTile(todoProvider
.getTodos[index].title);
},
);
debugPaintSizeEnabled = true;
Любая помощь будет очень признательна. Спасибо!
Комментарии:
1. переполнен? что вы имеете в виду под этим? опубликуйте свой снимок экрана еще раз, когда вы войдете
debugPaintSizeEnabled = true;
внутрьmain()
2. @pskink Я добавил вывод. Пожалуйста, взгляните.
3. так что же такое переполнение? последний элемент («d») обрезан контейнером «Выполненные задачи», и я не вижу никакого «переполнения».
4. «d» здесь не последний пункт. Пожалуйста, сосредоточьтесь на выделенной красным области. Там вы найдете лист с белым фоном за текстом «Выполненные задачи». Эта плитка содержит заголовок, но заголовок не виден, когда элемент пересекает эту высоту, но фон все еще виден. Позвольте мне изменить цвет плитки, и тогда вы поймете, о чем я говорю.
5. @pskink, пожалуйста, взгляните сейчас.