GridView.count 生成的是静态网格

效果:

代码:

import 'package:flutter/material.dart';

void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
HomeContent({Key key}) : super(key: key);
//动态列表数据:
List listData=[
{'title':'','img':"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"},
{'title':'','img':"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"},
{'title':'','img':"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"},
{'title':'','img':"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"},
{'title':'','img':"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"},
];
List<Widget> _getListData(){
//第一种设置数据:
// List<Widget> list=new List();
// for(var i=0;i<20;i++){
// list.add(Container(
// alignment: Alignment.center,
// color: Colors.blue,
// child: Text("这是第$i 条数据",style: TextStyle(
// color: Colors.white,fontSize: 20
// )),
// ));
// }
// return list.toList(); //第二种设置数据:
var tempList=listData.map((value){
return Container(
child: Column(
children: <Widget>[
Image.network(value['img']),
SizedBox(height: ),
Text(value['title'],
textAlign: TextAlign.center,
style: TextStyle(
fontSize:
),
) ],
),
decoration: BoxDecoration(
border: Border.all(
color: Color.fromRGBO(, ,, 0.9),
width:
)
),
);
});
return tempList.toList();
} @override
Widget build(BuildContext context) {
return GridView.count(
crossAxisSpacing: 20.0, //水平子Widget之间的间距:
mainAxisSpacing: 20.0, //垂直Widget之间的间距:
padding: EdgeInsets.all(),
crossAxisCount: , //一行的Widget数量:
childAspectRatio: 0.7, //设置宽高比例
children: this._getListData(),
);
}
}
GridView.builder
import 'package:flutter/material.dart';

void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("flutter demo"),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
HomeContent({Key key}) : super(key: key);
//动态列表数据:
List listData = [
{
'title': '',
'img':
"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"
},
{
'title': '',
'img':
"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"
},
{
'title': '',
'img':
"https://www.itying.com/images/201905/thumb_img/1101_thumb_G_1557845381862.jpg"
},
];
Widget _getListData(context, index) {
//第二种设置数据:
return Container(
child: Column(
children: <Widget>[
Image.network(listData[index]['img']),
// SizedBox(height: 10),
Text(
listData[index]['title'],
textAlign: TextAlign.center,
style: TextStyle(fontSize: ),
)
],
),
decoration: BoxDecoration(
border:
Border.all(color: Color.fromRGBO(, , , 0.9), width: )),
);
} @override
Widget build(BuildContext context) {
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisSpacing: 10.0, //水平子Widget之间间距
mainAxisSpacing: 10.0, //垂直子Widget之间间距
crossAxisCount: //一行的Widget数量
),
itemCount: listData.length,
itemBuilder: this._getListData,
);
}
}

Flutter利用GridView实现网格的商品布局的更多相关文章

  1. Android商城开发系列(十三)—— 首页热卖商品布局实现

    热卖商品布局效果如下图: 这个布局跟我们上节做的推荐是一样的,也是用LinearLayout和GridView去实现的,新建一个hot_item.xml,代码如下所示: <?xml versio ...

  2. ViewPager+GridView实现首页导航栏布局分页效果

    如图是效果图用ViewPager+GridView实现首页导航栏布局分页效果来实现的效果 Demo下载地址:http://download.csdn.net/detail/qq_29774291/96 ...

  3. 利用column-width属性设置多栏布局

    css样式设置为: div{ background:blanchedalmond; margin:0 auto; width:1230px; -moz-column-width:400px; -web ...

  4. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  5. 利用selenium爬取京东商品信息存放到mongodb

    利用selenium爬取京东商城的商品信息思路: 1.首先进入京东的搜索页面,分析搜索页面信息可以得到路由结构 2.根据页面信息可以看到京东在搜索页面使用了懒加载,所以为了解决这个问题,使用递归.等待 ...

  6. CSS3 网格布局(grid layout)基础知识 - 隐式网格自己主动布局(grid-auto-rows/grid-auto-columns/grid-auto-flow)

    网格模板(grid-template)属性及其普通写法(longhands)定义了一个固定数量的轨道.构成显式网格. 当网格项目定位在这些界限之外.网格容器通过添加隐式网格线生成隐式网格轨道. 这些隐 ...

  7. 37 Flutter仿京东商城项目 结算页面布局

    加群452892873 下载对应34课文件,运行方法,建好项目,直接替换lib目录 CheckOut.dart import 'package:flutter/material.dart'; impo ...

  8. 07-08 Flutter仿京东商城项目 商品分类页面布局:Flutter仿京东商城项目 商品分类页面数据渲染

    Flutter实战(交流群:452892873) 本项目是一个实战项目,根据目录建文件,并复制从第一节到最新更新的文章,可以构成完整的一个请求后台数据的项目: CateModel.dart class ...

  9. 如何给GridView添加网格

    如何给gridview的单元格加上分割线 原文链接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/1227/1582.html ...

随机推荐

  1. Sharding-JDBC(三)3.1.0版本实践

    目录 一.Sharding-JDBC依赖 二.代码实践 三.源码分析 在上一篇博文中,介绍了Sharding-JDBC的分片策略.分片键和分片算法的基本概念,以及2.0.3版本可以支持和无法支持的使用 ...

  2. LG4721 【模板】分治 FFT

    P4721 [模板]分治 FFT 题目背景 也可用多项式求逆解决. 题目描述 给定长度为 $n-1$ 的数组 $g[1],g[2],..,g[n-1]$,求 $f[0],f[1],..,f[n-1]$ ...

  3. LG4783 【模板】矩阵求逆

    P4783 [模板]矩阵求逆 题目描述 求一个$N\times N$的矩阵的逆矩阵.答案对$10^9+7$取模. 输入输出格式 输入格式: 第一行有一个整数$N$,代表矩阵的大小: 从第$2$行到第$ ...

  4. 导出到CSV文件

    一.手工导出导出 1.winform void DataGridViewToExcel(DataGridView dataGridView1) { SaveFileDialog saveFileDia ...

  5. Mysql存储引擎中InnoDB与Myisam的区别

    1. 事务处理innodb 支持事务功能,myisam 不支持.Myisam 的执行速度更快,性能更好. 2. select ,update ,insert ,delete 操作MyISAM:如果执行 ...

  6. 在idea中调试spark程序-配置windows上的 spark local模式

    spark程序大致有如下运行模式: standalone模式:spark自带的模式 spark on yarn:利用hadoop yarn来做集群的资源管理 local模式:主要在测试的时候使用, 这 ...

  7. IKVM

    $ ikvmc -target:library E:\jt400.jar    $ ikvmc -target:library -reference:E:\jt400.dll E:\FTU.jar   ...

  8. WinDbg 图形界面功能(二)

    1.2.编辑菜单 这个菜单可以提供Windbg里的各功能窗口的可选文本的编辑功能,比如源代码窗口.命令窗口等提供选择.复制.剪切和黏贴等基础编辑功能. 剪切 单击剪切上编辑菜单中,删除所选的任何文本并 ...

  9. Cogs 876. 游戏(DP)

    游戏 ★ 输入文件:game1.in 输出文件:game1.out 简单对比 时间限制:1 s 内存限制:128 MB USACO/game1 A Game游戏 译 by 肖遥 描述 有如下一个双人游 ...

  10. P5590 【赛车游戏】

    果然我还是太\(Naive\)了 首先有一些点/边其实是没有意义的,如果从1出发不能到该点或者从该点不能到n,这个点就可以不用管了.这个过程可以用正反两边\(dfs/bfs\)实现 然后删掉那些点之后 ...