Flutter RenderStack 对象在布局期间被赋予无限大小。如何在堆栈中定位容器?
Flutter RenderStack object was given an infinite size during layout. How to position container inside stack?
我正在尝试将容器放置在堆栈中,但一直收到此消息 exception.How 我可以使用 right:0,top:0 将给定大小的容器放置在堆栈中吗?代码我正在使用如下所示:
我应该对我的代码进行哪些更改才能使其正常工作?
**return SizedBox.fromSize(
size:Size.fromHeight(300.0),
child:Container(
decoration:BoxDecoration(**
color:Color(0xFFF3F3F5),
),
child:ListView.builder(
scrollDirection:Axis.horizontal,
itemCount:3,
physics:BouncingScrollPhysics(),
itemBuilder:(BuildContext context,index){
print(10);
return Stack(
children:<Widget>[
Positioned(
right:0,
top:0,
child:Container(
margin:EdgeInsets.symmetric(horizontal:15.0),
height:80,
width:140,
decoration:BoxDecoration(
borderRadius:BorderRadius.circular(16.0),
color:Color(0xFFDDE3F0),
),
),),
],
);
}
),
),
);
**
您可以通过两种方式解决此问题。
1) 使用 listView 的 shrinkwrap 属性 并将其设置为 true.
shrinkWrap: false,
2) 使用列和扩展。用 Expanded 包裹你的 ListView 并用 Column 包裹 Expanded。
Column->Expanded->ListView.
你应该给 Container
包裹你的 ListView
一个高度。
我正在尝试将容器放置在堆栈中,但一直收到此消息 exception.How 我可以使用 right:0,top:0 将给定大小的容器放置在堆栈中吗?代码我正在使用如下所示: 我应该对我的代码进行哪些更改才能使其正常工作?
**return SizedBox.fromSize(
size:Size.fromHeight(300.0),
child:Container(
decoration:BoxDecoration(**
color:Color(0xFFF3F3F5),
),
child:ListView.builder(
scrollDirection:Axis.horizontal,
itemCount:3,
physics:BouncingScrollPhysics(),
itemBuilder:(BuildContext context,index){
print(10);
return Stack(
children:<Widget>[
Positioned(
right:0,
top:0,
child:Container(
margin:EdgeInsets.symmetric(horizontal:15.0),
height:80,
width:140,
decoration:BoxDecoration(
borderRadius:BorderRadius.circular(16.0),
color:Color(0xFFDDE3F0),
),
),),
],
);
}
),
),
);
**
您可以通过两种方式解决此问题。
1) 使用 listView 的 shrinkwrap 属性 并将其设置为 true.
shrinkWrap: false,
2) 使用列和扩展。用 Expanded 包裹你的 ListView 并用 Column 包裹 Expanded。
Column->Expanded->ListView.
你应该给 Container
包裹你的 ListView
一个高度。