问题描述
我正在尝试使用GridView
构建器在flutter中构建嵌套列表。但是子列表的高度很小。由于我没有为任何列表指定高度,因此我不知道如何增加高度。
这是我用来构建嵌套列表的代码。
return DecoratedBox(
decoration: const BoxDecoration(
color: Styles.scaffoldBackground,),child: SafeArea(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,children: [
_buildSearchBox(),Expanded(
child:GridView.builder(
shrinkWrap: true,gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 1,childAspectRatio: 3/1,crossAxisSpacing: 20,mainAxisSpacing:50),padding: const EdgeInsets.all(10.0),itemCount: res2.length,itemBuilder: (context,index) => ChangeNotifierProvider.value(
value: res2[index],child:Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly,children:<Widget>[
GestureDetector(
onTap: (){
Navigator.push(
context,MaterialPageRoute(builder: (context) => ProductOverview()));
},child: shopItem(),Expanded(
child:Container(
height: 10*_blockSizeVertical,child:GridView.builder(
physics: ClampingScrollPhysics(),shrinkWrap: true,gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 1,mainAxisSpacing: 20),itemCount: results.length,index) => ChangeNotifierProvider.value(
value: results[index],child: productItem(
),],);
}
列表的屏幕截图:
解决方法
更改父GridView的childAspectRatio
。它需要宽度/高度。
将其更改为childAspectRatio: 3/6 ;