listView:会尽可能的占据多的高度(默认高度是不明确的);
column:希望所有的子widget 有一个明确的高度
所以当column 里面嵌套listView 或者listview里面嵌套listview的时候就容易出现 'hasSize'的错误
解决方法一:listview 外面添加一个container,并且给定一个指定的高度。这样就形成了局部滚动的效果
解决方法二:listview 里面设置shrinkWrap:true
//解决方式一
Container(
height:300,
child:ListView.builder(
itemCount:5,
itemBuilder:(ctx,index){
return Text('xxx')
}
)
)
//解决方法二
ListView.builder(
padding:EdgeInsets.zero,//设置内边距为0
shrinkWrap:true,
physics:NeverScrollableScrollPhysics(),//设置个属性后listview就不会自己滚动了
itemCount:5,
itemBuilder:(ctx,index){
return Text('xxx')
}
)