У меня есть динамический c список названий стран. Я хочу показать этот список в диалоговом окне (скажем, когда пользователь нажимает кнопку).
Вот моя реализация диалогового окна:
List<String> countries = [
'India','Japan','China','USA','France','Egypt','Norway','Nigeria','Colombia','Australia','South Korea','Bangladesh','Mozambique','Canada','Germany','Belgium','Vietnam','Bhutan','Israel','Brazil'
];
@override
Widget build(BuildContext context) {
return Dialog(
child: Container(
width: 400,
height: 400,
child: SingleChildScrollView(
child: ListView.builder(
shrinkWrap: true,
itemCount: countries.length,
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(20.0),
child: Text('${countries[index]}'),
);
}),
),
));
}
}
Вывод Я получение выглядит следующим образом:
Очевидно, что видны только 7 стран.
Я пробовал несколько других вариантов:
- Создание высоты Контейнера как
double.maxFinite
. - Размещение другого столбца внутри SingleChildScrollView.
- Все возможные перестановки Column, Container, SingleChildScrollView
Однако ни один из вышеперечисленных методов, похоже, не работает (ошибка переполнения, ограниченное количество отображаемых элементов и т. Д. c).
На самом деле я хочу, чтобы была возможность отображать список с использованием метода ListView.builder
внутри ShowDialog
.