Android 单个颤振屏幕上的两个列表

Android 单个颤振屏幕上的两个列表,android,flutter,dart,Android,Flutter,Dart,我刚刚接触颤振,所以我尝试将两个不同的颤振示例合并到一个屏幕中 我的意思是,我希望能够有一个垂直的gridView(),然后在它下面插入一个水平列表()。我试着在一个小部件列表中插入这两个选项,但那根本没用 你能给我一些建议吗?我假设你的网格视图和水平列表都正确声明并初始化为网格和列表。您可以创建一个列表视图,如下所示: Widget buildBody() { return ListView( padding: EdgeInsets.all(8), children: <Widg

我刚刚接触颤振,所以我尝试将两个不同的颤振示例合并到一个屏幕中

我的意思是,我希望能够有一个垂直的gridView(),然后在它下面插入一个水平列表()。我试着在一个小部件列表中插入这两个选项,但那根本没用


你能给我一些建议吗?

我假设你的
网格视图
水平列表
都正确声明并初始化为
网格
列表
。您可以创建一个列表视图,如下所示:

Widget buildBody() {
return ListView(
  padding: EdgeInsets.all(8),
  children: <Widget>[
    grid,
    list
  ],
);
}

要在
网格视图
水平列表
之间添加空格,只需在列表视图中的它们之间添加一个
填充
小部件。

我假设您的
网格视图
水平列表
都已声明并正确初始化为
网格
列表
。您可以创建一个列表视图,如下所示:

Widget buildBody() {
return ListView(
  padding: EdgeInsets.all(8),
  children: <Widget>[
    grid,
    list
  ],
);
}

若要在
网格视图
水平列表
之间添加空格,只需在列表视图中的它们之间添加一个
填充
小部件。

如果要在单个屏幕中同时滚动列表和网格。我建议您看看
SliverList
&
SliverGrid

基本的例子是

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Slivers'),
      ),
      body: _buildSlivers(),
    );
  }

  Widget _buildSlivers() {
    return CustomScrollView(
      slivers: <Widget>[
        SliverGrid.count(
          crossAxisCount: 3,
          children: _gridItems(),
        ),
        SliverList(delegate: SliverChildBuilderDelegate((context, index) {
          return ListTile(
            title: Text('Item $index'),
          );
        }))
      ],
    );
  }
@覆盖
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“颤振条”),
),
正文:_buildSlivers(),
);
}
Widget_buildSlivers(){
返回自定义滚动视图(
条子:[
SliverGrid.count(
交叉轴计数:3,
子项:_gridItems(),
),
SliverList(委托:SliverChildBuilderDelegate((上下文,索引){
返回列表块(
标题:文本(“项$index”),
);
}))
],
);
}
这将产生以下结果


颤振文档:

如果您正在寻找一个列表和网格,以便在单个屏幕中一起滚动。我建议您看看
SliverList
&
SliverGrid

基本的例子是

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Slivers'),
      ),
      body: _buildSlivers(),
    );
  }

  Widget _buildSlivers() {
    return CustomScrollView(
      slivers: <Widget>[
        SliverGrid.count(
          crossAxisCount: 3,
          children: _gridItems(),
        ),
        SliverList(delegate: SliverChildBuilderDelegate((context, index) {
          return ListTile(
            title: Text('Item $index'),
          );
        }))
      ],
    );
  }
@覆盖
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“颤振条”),
),
正文:_buildSlivers(),
);
}
Widget_buildSlivers(){
返回自定义滚动视图(
条子:[
SliverGrid.count(
交叉轴计数:3,
子项:_gridItems(),
),
SliverList(委托:SliverChildBuilderDelegate((上下文,索引){
返回列表块(
标题:文本(“项$index”),
);
}))
],
);
}
这将产生以下结果

颤振文档: