在Flutter Show对话框中显示可滚动列表

问题描述 投票:0回答:1

我有一个国家名称的动态列表。我想在对话框中显示此列表(例如,当用户单击按钮时)。

这是到目前为止我对对话框的实现:

 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]}'),
              );
            }),
      ),
    ));
  }
}

我得到的输出如下:

enter image description here

很明显,只有7个国家可见。

我尝试了其他几种选择:

  1. 将容器的高度设为double.maxFinite
  2. 在SingleChildScrollView中放入另一列。
  3. 列,容器,SingleChildScrollView的所有可能排列

但是,上述方法似乎都不起作用(溢出错误,显示的项目数量有限等)。>>

我真正想要的是能够在ListView.builder中使用ShowDialog方法显示列表。

我有一个国家名称的动态列表。我想在对话框中显示此列表(例如,当用户单击按钮时)。到目前为止,这是我对对话框的实现:List ...

flutter flutter-layout
1个回答
0
投票

您必须用Scaffold交换SingleChildScrollView。

© www.soinside.com 2019 - 2024. All rights reserved.