Dart 颤振:在构建ui时执行大小错误?
在这段代码中,我试图输出一个pickercard列表,该列表使用添加的属性重新定义容器。在尝试这样做的时候。我遇到了这个错误,我试图通过将所有小部件插入到具有指定高度的容器中来指定高度,但遗憾的是,它没有起作用。任何帮助都将不胜感激。 查找所附代码Dart 颤振:在构建ui时执行大小错误?,dart,flutter,Dart,Flutter,在这段代码中,我试图输出一个pickercard列表,该列表使用添加的属性重新定义容器。在尝试这样做的时候。我遇到了这个错误,我试图通过将所有小部件插入到具有指定高度的容器中来指定高度,但遗憾的是,它没有起作用。任何帮助都将不胜感激。 查找所附代码 class PackageScreenState extends State<PackageScreen> { @override Widget build(BuildContext context) { return n
class PackageScreenState extends State<PackageScreen> {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Choose package"),
),
body:
StreamBuilder<UnmodifiableListView<Package>>(
stream: subscriptionBloc.package,
builder:
(_, AsyncSnapshot<UnmodifiableListView<Package>> packages) {
if (packages.hasData == true) {
return ListView.builder(
shrinkWrap: true,
itemCount: packages.data.length,
itemBuilder: ((BuildContext context, int index) {
return PackageContainer(
titleText: packages.data[index].name,
price: packages.data[index].price,
subtitleText: packages.data[index].description,
onPressed: null,
);
}));
} //if end statment
else {
return CircularProgressIndicator();
}
));
}
}
class packagescrenstate扩展状态{
@凌驾
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“选择包”),
),
正文:
StreamBuilder(
流:subscriptionBloc.package,
建设者:
(389;,异步快照包){
if(packages.hasData==true){
返回ListView.builder(
收缩膜:对,
itemCount:packages.data.length,
itemBuilder:((BuildContext上下文,int索引){
返回包装容器(
titleText:packages.data[index].name,
价格:包。数据[索引]。价格,
字幕文本:packages.data[索引]。说明,
onPressed:null,
);
}));
}//如果结束状态
否则{
返回循环ProgressIndicator();
}
));
}
}
将
包覆面提取
属性添加到您的ListView.builder
shrinkWrap: true
哦,它工作了。然而,我期待着该页面可以滚动,但结果是静态的,我把它放在listview中,以便能够滚动,但没有任何更改。检查编辑的代码嗯,我不明白,但你已经有了一个可滚动的listview。你添加了:收缩包装吗?为什么添加:listview(子项:[作为ListView.builder的容器?将ListView.builder包装在容器或大小固定的框中,高度大小为:MediaQuery.of(上下文).size.height,然后删除包覆面提取:是的,你说得对。我不必再在listview中进行包覆面提取。我只直接将streambuilder放入正文中。检查编辑的代码。非常感谢您的帮助