扑。如何在 GridView.builder 为空时折叠(没有任何元素)
Flutter. How to collapse GridView.builder when it empty (do not have any elements)
我有一个 GridView.builder shrinkWrap 为 true。它是动态填充的,但是开始时它是空的但会发生的问题,就像它有元素(某种预留位置)取决于 maxCrossAxisExtent 的大小。
有可能改变这个吗?空 space 不太好..
我查看了文档和 google 但没有找到任何答案。
这是代码
class _PhotosState extends State<Photos> {
List<File> photos = [];
final ImagePicker _picker = ImagePicker();
Widget getGrid() {
return Container(
child: GridView.builder(
padding: EdgeInsets.all(0),
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 200,
//childAspectRatio: 3 / 2,
// crossAxisSpacing: 10,
// mainAxisSpacing: 10,
//mainAxisExtent: 200,
),
itemCount: photos.length,
itemBuilder: (BuildContext ctx, index) {
return Container(
color: Colors.blueGrey,
);
},
),
);
}
带空的空 GridView space
一个元素添加到 GridView
尝试
Widget getGrid() {
return photos.length<1?SizedBox():
Container(
child: GridView.builder(
我有一个 GridView.builder shrinkWrap 为 true。它是动态填充的,但是开始时它是空的但会发生的问题,就像它有元素(某种预留位置)取决于 maxCrossAxisExtent 的大小。 有可能改变这个吗?空 space 不太好.. 我查看了文档和 google 但没有找到任何答案。
这是代码
class _PhotosState extends State<Photos> {
List<File> photos = [];
final ImagePicker _picker = ImagePicker();
Widget getGrid() {
return Container(
child: GridView.builder(
padding: EdgeInsets.all(0),
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 200,
//childAspectRatio: 3 / 2,
// crossAxisSpacing: 10,
// mainAxisSpacing: 10,
//mainAxisExtent: 200,
),
itemCount: photos.length,
itemBuilder: (BuildContext ctx, index) {
return Container(
color: Colors.blueGrey,
);
},
),
);
}
带空的空 GridView space
一个元素添加到 GridView
尝试
Widget getGrid() {
return photos.length<1?SizedBox():
Container(
child: GridView.builder(