首页 > 解决方案 > 如何在 Flutter 中将 Header 添加到 GridView?

问题描述

嗨,我想创建一个带有 crossAxisCount: 2 和 scrollDirection: Axis.horizo​​ntal 的 GridView.builder 并且每组 GridView 都需要一个标题,请检查图像

需要建立一些链接这个但是

标签: flutterdartflutter-layoutflutter-animationdart-pub

解决方案


您可以通过以下方式使用 gridView.builder 和 Row 小部件进行构建。

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Demo"),
      ),
      body: Container(
          child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Text("Top"),
          Expanded(
            child: Row(
              children: [
                Expanded(
                  child: GridView.builder(
                    scrollDirection: Axis.horizontal,
                    itemCount: 10,
                    gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
                        crossAxisCount: 2),
                    itemBuilder: (BuildContext context, int index) {
                      return Text(index.toString());
                    },
                  ),
                )
              ],
            ),
          ),
          Text("Trending"),
          Expanded(
            child: Row(
              children: [
                Expanded(
                  child: GridView.builder(
                    scrollDirection: Axis.horizontal,
                    itemCount: 10,
                    gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
                        crossAxisCount: 2),
                    itemBuilder: (BuildContext context, int index) {
                      return Text(index.toString());
                    },
                  ),
                )
              ],
            ),
          ),
        ],
      )),
    );
  }

推荐阅读