#flutter #dart
Вопрос:
Я пытаюсь поместить некоторое пространство или SizedBox() в качестве последнего элемента списка, потому что FloatingActionButton() скрывает некоторую информацию из последнего элемента списка.
Я хочу прокрутить пробел/размерное поле (), например, в WhatsApp.
body: ListView.builder(
itemCount: cardsList.length,
itemBuilder: (context, i) {
return Column(
children: [
ListTile( ... ),
Divider( ... ),
],
);
},
),
Ответ №1:
ListView
обладает свойством заполнения
body: ListView.builder(
padding: const EdgeInsets.only(bottom: 100),
itemCount: cardsList.length,
itemBuilder: (context, i) {
return Column(
children: [
ListTile( ... ),
Divider( ... ),
],
);
},
),
Комментарии:
1. Что ж, это было быстро. еще один вопрос, пожалуйста, почему вы использовали константу перед EdgeInsets ?
2. Я использую
flutter_lints: ^1.0.4 # https://pub.dev/packages/flutter_lints
правило пакета и переопределенияprefer_const_constructors: true
, поэтому теперь анализатор просит меня добавитьcont
ключевое слово, если это возможно3. Спасибо за вашу помощь !!
4. Вы можете использовать
const
ключевое слово, потомуEdgeInsets
что имеет конструктор const. Это позволяет фреймворку не перестраивать его каждый раз, когда необходимо перестраивать дерево виджетов, а перезагружать его как есть из кэша. Повышение производительности
Ответ №2:
Вы можете обернуть свой ListView
с Column
помощью виджета. В этом виджете добавьте SizedBox
. Подобный этому:
body: Column(
children: [
ListView.builder(
itemCount: cardsList.length,
itemBuilder: (context, i) {
return Column(
children: [
ListTile( ... ),
Divider( ... ),
],
);
},
),
SizedBox(height: 50.0)
]
)
Комментарии:
1. К сожалению, это создало много проблем.
Ответ №3:
Я думаю, ты хочешь этого
ListView.builder(
itemCount: cardsList.length 1,
itemBuilder: (context, index) =>
index < items.length ? myListTile() : SizedBox(),
),
Комментарии:
1.
myListTile()
этоColumn( children: [ ListTile( ... ), Divider( ... ), ], );
в вашем случае.2. Я думал, что мой вопрос ввел в заблуждение, но этот ответ исправил ситуацию. Спасибо!
3. Рад вам помочь.