今天写flutter的时候遇到了这个问题
来看看错误代码
SizedBox(
width: 304.w,
child: GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 4,
crossAxisSpacing: 36.09,
mainAxisSpacing: 19.28,
childAspectRatio: 1),
itemCount: moodPics.length,
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
onTap: () => {},
child: SvgPicture.asset(moodPics[index],
width: 41.28.w, height: 60.h),
);
},
)),
查了资料,应该是"在Flutter 的Column或者Row 可动态改变子组件,其中子组件大小,位置可能有变化,并且可能溢出就会抛出这个错误"
具体的解决办法就是 在该组件外嵌套一个SizeBox或者Container即可,并且包上width ,height
修改代码:
width: 304.w,
+ height: 250.h,
参考
感谢这位博主的博客⬇️
作者:隐身人
链接:https://www.jianshu.com/p/f72997840a2d
网友评论