扑扑中的堆栈和列表视图之间的区别

时间:2018-11-04 21:06:14

标签: listview flutter

最近,我发现显示小部件列表时,stacklistView的工作方式不同。 这是一个示例:

通过这段代码,我得到了listData小部件(自定义小部件)的两项的列表

new ListView(

          children: <Widget>[

       new Container(
         child: ListData(
             margin: EdgeInsets.all(4.0),
             width: screenSize.width,
             title: "Breakfast with Harry",
             subtitle: "9 - 10am ",
             image: DecorationImage(image: AssetImage('assets/avatar-1.jpg'),
               fit: BoxFit.cover,))
       ),
       new Container(
           child: ListData(
               margin: EdgeInsets.all(4.0),
               width: screenSize.width,
               title: "Breakfast with Harry",
               subtitle: "9 - 10am ",
               image: DecorationImage(image: AssetImage('assets/avatar-1.jpg'),
                 fit: BoxFit.cover,))
       ),

          ],
          )

ListView替换为stack

new Stack(

          children: <Widget>[

       new Container(
         child: ListData(
             margin: EdgeInsets.all(4.0),
             width: screenSize.width,
             title: "Breakfast with Harry",
             subtitle: "9 - 10am ",
             image: DecorationImage(image: AssetImage('assets/avatar-1.jpg'),
               fit: BoxFit.cover,))
       ),
       new Container(
           child: ListData(
               margin: EdgeInsets.all(4.0),
               width: screenSize.width,
               title: "Breakfast with Harry",
               subtitle: "9 - 10am ",
               image: DecorationImage(image: AssetImage('assets/avatar-1.jpg'),
                 fit: BoxFit.cover,))
       ),

          ],
          )

我只得到一件物品,而从检查员看来,所有物品都是彼此叠放的。

stacklistview是否应该以相同的方式工作?

1 个答案:

答案 0 :(得分:2)

  

堆栈和listview是否应该以相同的方式工作?

不,一点也不。 StackListView 非常不同。

  • ListView用于垂直/水平滚动列表。它类似于Row / Column,但其内容是可滚动的。
  • Stack是将多个窗口小部件自由定位在同一父对象下。它通常用于将小部件彼此堆叠。