dart - 如何在 flutter 中使用网格布局来制作这种类型的布局

标签 dart flutter flutter-layout

enter image description here

一屏多格布局

最佳答案

只是一个 ListView 里面有 GridViews,并且不要忘记 GridViewsshr​​inkWrap true/p>

  class MultipleGridView extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        body: ListView(
          children: <Widget>[
            Text("Title 1"),
            GridView.builder(
              physics: NeverScrollableScrollPhysics(),
              shrinkWrap: true,
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 5,
                crossAxisSpacing: 5.0,
                mainAxisSpacing: 5.0,
              ),
              itemCount: 10,
              itemBuilder: (context, index) {
                return Container(
                  color: Colors.blue,
                  child: Text("index: $index"),
                );
              },
            ),
            Text("Title 2"),
            GridView.builder(
              physics: NeverScrollableScrollPhysics(),
              shrinkWrap: true,
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 5,
                crossAxisSpacing: 5.0,
                mainAxisSpacing: 5.0,
              ),
              itemCount: 10,
              itemBuilder: (context, index) {
                return Container(
                  color: Colors.blue,
                  child: Text("index: $index"),
                );
              },
            ),
            Text("Title 3"),
            GridView.builder(
              physics: NeverScrollableScrollPhysics(),
              shrinkWrap: true,
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 5,
                crossAxisSpacing: 5.0,
                mainAxisSpacing: 5.0,
              ),
              itemCount: 10,
              itemBuilder: (context, index) {
                return Container(
                  color: Colors.blue,
                  child: Text("index: $index"),
                );
              },
            ),
            Text("Title 4"),
            GridView.builder(
              physics: NeverScrollableScrollPhysics(),
              shrinkWrap: true,
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 5,
                crossAxisSpacing: 5.0,
                mainAxisSpacing: 5.0,
              ),
              itemCount: 10,
              itemBuilder: (context, index) {
                return Container(
                  color: Colors.blue,
                  child: Text("index: $index"),
                );
              },
            )
          ],
        ),
      );
    }
  }

关于dart - 如何在 flutter 中使用网格布局来制作这种类型的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53845295/

相关文章:

Android Gradle 问题 - Flutter/Dart

git - flutter 安装期间的libusbmuxd版本错误

flutter - 如何在 flutter App 上叠加一个小部件?

flutter - BouncingScrollPhysics 不适用于 "shrinkWrap: true"

flutter - 在 Flutter 中,如何使用文本字段和方形图像进行行布局

dart - 如何垂直扩展具有一个ListView的ListView

firebase - 你如何限制 FirebaseAdmob 到特定的屏幕

android - 在 webview 中获取当前 URL

flutter - Flutter:将整数转换为月

gradle - gradle一直崩溃,已经尝试删除gradle文件夹,甚至尝试重新安装我所有的IDE,包括java,flutter等