Flutter RenderStack对象在布局期间被赋予了无限大小。如何将容器放置在堆栈中?

时间:2020-05-16 17:55:46

标签: flutter render

我正在尝试将容器放置在堆栈中,但不断出现此异常。我如何使用让我们说正确的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),
                                ),

                            ),),

                        ],
                    );
                }
            ),
            ),


    );

**

2 个答案:

答案 0 :(得分:0)

您可以通过两种方式解决此问题。

1)使用listView的收缩包装属性并将其设置为true。

shrinkWrap: false,

2)使用列和扩展。将您的ListView包裹在Expanded中,然后将Expanded with Column包裹。

Column->Expanded->ListView.

答案 1 :(得分:0)

您应将"か" + "\u3099"包裹住"が"的高度。