dnf怎么做钓鱼网站,企业网站的模块功能,窝窝在线观看,建设云个人服务平台登录入口目录
常用属性
GridView使用配置 GridView.count使用 GridView.extent使用 GridView.count Container 实现列表 GridView.extent Container 实现列表 GridView.builder使用 GridView网格布局在实际项目中用的也是非常多的#xff0c;当我们想让可以滚动的元素使用矩阵…目录
常用属性
GridView使用配置 GridView.count使用 GridView.extent使用 GridView.count Container 实现列表 GridView.extent Container 实现列表 GridView.builder使用 GridView网格布局在实际项目中用的也是非常多的当我们想让可以滚动的元素使用矩阵方式排列的时候。此时我们可以用网格列表组件GridView实现布局。
GridView创建网格列表主要有下面三种方式
1、可以通过GridView.count实现网格布局 2、可以通过GridView.extent 实现网格布局 3、通过GridView.builder实现动态网格布局
常用属性 GridView使用配置 GridView.count使用
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {overrideWidget build(BuildContext context) {return GridView.count(crossAxisCount: 4, //一行显示的children: [Image.asset(assets/images/iv_account_selected.png),Icon(Icons.abc_rounded),Icon(Icons.abc_sharp),Icon(Icons.factory),]);}
}GridView.extent使用
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {overrideWidget build(BuildContext context) {return GridView.extent(maxCrossAxisExtent: 180, //横轴子元素的最大长度children: [Icon(Icons.abc_rounded),Icon(Icons.abc_sharp),Icon(Icons.factory),],);}
}GridView.count Container 实现列表
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {ListWidget initList() {ListWidget list [];for (var i 0; i 10; i) {list.add(Container(alignment: Alignment.center,decoration: BoxDecoration(color: Colors.blue),child: Text(第$i个元素, style: TextStyle(fontSize: 20)),),);}return list;}overrideWidget build(BuildContext context) {return GridView.count(padding: EdgeInsets.all(10),crossAxisSpacing: 10, //水平间距mainAxisSpacing: 10, //垂直间距crossAxisCount: 2, //一行显示多少个元素childAspectRatio: 0.7,//宽高的比例children: initList(),);}
}GridView.extent Container 实现列表
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {ListWidget initList() {ListWidget list [];for (var i 0; i 10; i) {list.add(Container(alignment: Alignment.center,decoration: BoxDecoration(color: Colors.blue),child: Text(第$i个元素, style: TextStyle(fontSize: 20)),),);}return list;}overrideWidget build(BuildContext context) {return GridView.extent(padding: EdgeInsets.all(10),crossAxisSpacing: 10, //水平间距mainAxisSpacing: 10, //垂直间距maxCrossAxisExtent: 120,//横轴子元素的最大长度 动态计算//childAspectRatio: 0.7,//宽高的比例children: initList(),);}
}map循环遍历数据通过Container渲染
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {ListWidget initList() {ListWidget list [];for (var i 0; i 10; i) {list.add(Container(alignment: Alignment.center,decoration: BoxDecoration(color: Colors.blue),child: Column(children: [Image.network(https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg),Text(第$i元素),]),),);}return list;}overrideWidget build(BuildContext context) {return GridView.extent(padding: EdgeInsets.all(10),crossAxisSpacing: 10,//水平间距mainAxisSpacing: 10,//垂直间距maxCrossAxisExtent: 120,//横轴子元素的最大长度childAspectRatio: 1,//宽高的比例children: initList(),);}
}GridView.builder使用
import package:flutter/material.dart;void main() {runApp(MyTestApp());
}class MyTestApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(theme: ThemeData(primarySwatch: Colors.yellow),home: Scaffold(appBar: AppBar(title: Text(App)),body: MyTestHomePage(),),);}
}//Material Design官方Icons图标
class MyTestHomePage extends StatelessWidget {List list [{title: Candy Shop,imageUrl:https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg,author: Mohamed Chahin,},{title: Zhao Shop,imageUrl:https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg,author: Mohamed Chahin,},{title: Fei Shop,imageUrl:https://p4.img.cctvpic.com/photoAlbum/photo/2025/05/27/PHOT1cFfxozsH6VncGwLpViz250527_1000x2000.jpg,author: Mohamed Chahin,},];Widget initList(context,index) {return Container(alignment: Alignment.center,decoration: BoxDecoration(color: Colors.blue),child: Column(children: [Image.network(list[index][imageUrl]),Text(list[index][title]),],),);}overrideWidget build(BuildContext context) {return GridView.builder(padding: EdgeInsets.all(10),itemCount: list.length,gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2,crossAxisSpacing: 10,childAspectRatio: 1,),itemBuilder: initList);}// return GridView.builder(// padding: EdgeInsets.all(10),// itemCount: list.length,// gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(// maxCrossAxisExtent: 200,// crossAxisSpacing: 10,// childAspectRatio: 1,// ),// itemBuilder: initList,// );
}