Flutter:如何在Wrap小部件内滚动列表?

时间:2020-11-07 12:18:42

标签: flutter dart

我正在使用自动换行显示一些图像,Wrap的方向设置为Axis.horizontal。当它用完水平空间时,它正在创建新行。只要垂直有足够的空间,所有内容都将按原样显示。但是,当出现大量图像时,就会出现底部溢出。

我尝试将Wrap小部件包装在SingleChildScrollViewListViewExpanded中,但似乎没有任何效果。这是我的代码:

@override
  Widget build(BuildContext context) {
    return Wrap(
      direction: Axis.horizontal,
      spacing: 8,
      runSpacing: 12,
      children: [
        _buildImageCard('abc'),
        _buildImageCard('def'),
        _buildImageCard('ghi'),
        _buildImageCard('jkl'),
      ],
    );
  }
}

_buildImageCard

Widget _buildImageCard(String imagePath) {
    return SizedBox(
      width: 500,
      height: 400,
      child: Card(
        elevation: 5,
      ),
    );
  }

结果是:

enter image description here

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我可以解决它。问题是SingleChildScrollView 需要滚动的约束。所以你需要指定它们:

SizedBox(
  height: 100.0,
  child: SingleChildScrollView(
    child: Wrap(
      children: [
      ],
    ),
  ),
)

答案 1 :(得分:0)

尝试 SingleChildScrollView

posts_per_page

enter image description here