我正在使用wrap来显示一些图像,Wrap
的方向被设置为Axis.horizontal
。当水平空间用完时,它会创建新的行。只要有足够的垂直空间,所有内容都会按应有的方式显示。但当有很多图像时,它会出现底部溢出。
我尝试将Wrap
小部件 Package 在SingleChildScrollView
、ListView
和Expanded
中,但似乎没有任何效果。以下是我的代码:
@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,
),
);
}
其结果是:
4条答案
按热度按时间vsmadaxz1#
尝试单个子滚动视图
nbnkbykc2#
I met the same problem and I can solve it. The problem is
SingleChildScrollView
requires the contstraints in which it will scroll. So you need to specify them:aelbi1ox3#
@bambinoua是对的。你需要对
SingleChildScrollView
进行约束。例如,对高度进行无穷大约束对垂直SingleChildScrollView
不起作用。你可以使用LayoutBuilder
检查传递给它的约束:如果它是
BoxConstraints(0.0<=w<=720, 0.0<=h<=Infinity)
,那么你需要检查你的小部件树,找到导致这个问题的父部件。在我的例子中,它是一个列,我通过将SingleChildScrollView
Package 在Expanded
小部件中来解决这个问题:cgyqldqp4#
对于水平滚动,请尝试以下操作。