Flutter 解决Column包裹GridView报错或者不

2023-03-13  本文已影响0人  青柠盛夏

GridView 相当于iOS的UICollectionView,是最常用且好用的控件,在iOS中可以正常跟其他子控件一起直接加在父控件中,但是在flutter中如果想将GridView加在父组件也就是Column中则会报错或者显示不出来,网上说用Expanded包裹本人试过是不对的

正确操作是需要在GridView里面设置shrinkWrap:true,

shrinkWrap:通常 ListView(GridView,PageView,CustomScrollView)都会尽可能的填充满 parent 组件给的空间大小,如果滚动视图设置的是false,那么内容会在滚动方向上尺寸延伸到最大,如果在滚动方向上没有边界约束,那么shrinkWrap必须设置为true

如果项目中想用Column,那么设置shrinkWrap:true 虽然不会报错但有可能也会有高度超了的情况,所以在Column中包裹一个SingleChildScrollView就可以解决问题了。如图:

办法二: 直接将Column 改成ListView 并设置GridView中的shrinkWrap:true

上一篇 下一篇

猜你喜欢

热点阅读