Flutter-小部件的可滚动列表

时间:2019-01-23 21:48:20

标签: flutter

我有一个显示小部件列表的屏幕,如下所示:

Column(                              
    children: listW,
),

listW对象的类型为List<Widget>。第一个索引包含一个ListTitle,所有其他索引均为Card类型。卡数是动态添加的。现在的问题是,当列表中有10个Card对象时,它隐藏在屏幕下方。我需要某种ScrollableView来包含我的列表。我该怎么做,因为SingleChildScrollableView只能带有一个小部件。我该如何处理这个问题?

2 个答案:

答案 0 :(得分:1)

尝试将您的代码更改为此

ListView(children: listW,)

答案 1 :(得分:0)

您可以为此使用ListView。

ListView(
    children: <Widget>[
         //Your widgets
    ]
)

请记住,列表视图将呈现列表中当前的所有项目,这意味着庞大的列表将导致性能问题。您可以使用ListView构建器解决此问题,因为它会在屏幕上滚动时创建项目。

class FruitList extends StatelessWidget{
  final List<String> fruits = [ "Apple", "Banana", "Pear", "Orange", "Kiwi" ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
          padding: EdgeInsets.all(5),
          child: ListView.builder(
            itemBuilder: _buildFruitItem,
            itemCount: fruits.length,
          )
        )
    );
  }

  Widget _buildFruitItem( BuildContext context, int index ){
    return Card(
      child: Text( fruits[index] ),
    );
  }

}

您可以在此处查看更多文档:https://flutter.io/docs/cookbook/lists/long-lists