有没有办法在不使用Listview,Gridview的情况下在列表中生成小部件?

时间:2020-10-08 14:47:12

标签: flutter flutter-listview

我要做的是将列表中的小部件放到堆栈中。列表中的每个小部件都会返回一个具有不同对齐方式的容器。

Container( alignment: Alignment(xValue,yValue))

我的堆栈如下:

stack(
children: <Widget>[
SizedBox(
width :MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Container(
color:Colors.greenAccent,
child: ListView.builder(
           physics: const NeverScrollableScrollPhysics(),
           itemCount: widgetList.length,
           itemBuilder(BuildContext contet, int index){
                return widgetList[index]; })
))])

即使我的容器出现在堆栈中,它们的位置也不是我想要的位置。它们的对齐是在列表内完成的。我想要的是在SizedBox内的小部件列表中对齐那些容器。我可以按以下步骤完成。

stack(
   children: <Widget>[
        SizedBox(
            width :MediaQuery.of(context).size.width,
            height: MediaQuery.of(context).size.height,
            child: Container( color: Colors.greenAccent)),
        widgetList[0],
        widgetList[1], ])

这样,即使可以将列表中的小部件放在需要的位置,它也不是动态的。我需要帮助才能动态地执行此操作。

1 个答案:

答案 0 :(得分:1)

使用点差运算符

Stack(
   children: <Widget>[
        SizedBox(
            width :MediaQuery.of(context).size.width,
            height: MediaQuery.of(context).size.height,
            child: Container( color: Colors.greenAccent)),
        ...widgetList,    // Note the three dots before the widgetList
])