Flutter中stack和listview的区别

Kak*_*ime 0 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,))
       ),

          ],
          )
Run Code Online (Sandbox Code Playgroud)

当替换ListViewstack

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,))
       ),

          ],
          )
Run Code Online (Sandbox Code Playgroud)

我只得到一件物品,从检查员看来,所有物品都叠在一起。

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

Rém*_*let 5

堆栈和列表视图不应该以相同的方式工作吗?

一点都不。Stack并且ListView非常不同的。

  • ListView用于垂直/水平滚动列表。它类似于Row/Column但它的内容是可滚动的。
  • Stack是在同一个父级下自由放置多个小部件。它通常用于将小部件堆叠在彼此的顶部。