main.dart

import 'package:flutter/material.dart';
import 'res/listData.dart';
/*
GridView :
通过GridView.count实现网格布局
通过GridView.builder实现网格布局
scrollDirction Axis 滚动方法
padding EdgeInsetsGeometry 内边距
resolve bool 组件反向排序
crossAxisSpacing double 水平子Widget之间间距
mainAxisSpacing double垂直子Widget之间间距
crossAxisCount int 一行的Widget数量
childAspectRatio double 子Wiget宽高比例
*/ void main() {
runApp(MyApp());
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('GridView'),
),
body: HomeContent(),
),
);
}
} class HomeContent extends StatelessWidget {
//GridView.count
//自定义方法:
// List<Widget> _getListData() {
// // List<Widget> list=new List();
// // for(var i=0;i<20;i++){
// // list.add(Container(
// // alignment: Alignment.center,
// // child: Text(
// // "这是第${i}条数据",
// // style: TextStyle(color: Colors.white,fontSize:20 ),
// // ),
// // color: Colors.blue,
// // ));
// // }
// // return list; // var tempList = listData.map((value) {
// return Container(
// child: Column(
// children: <Widget>[
// Image.network(value['imageUrl']),
// SizedBox(height: 10),
// Text(
// value['title'],
// textAlign: TextAlign.center,
// style: TextStyle(fontSize: 20),
// )
// ],
// ),
// decoration: BoxDecoration(
// border: Border.all(
// color: Color.fromRGBO(233,233,233,0.9),
// width: 1
// )
// ),
// );
// });
// return tempList.toList();
// } // @override
// Widget build(BuildContext context) {
// return GridView.count(
// crossAxisSpacing: 10.0, //水平子Widget之间间距
// mainAxisSpacing: 10.0, //垂直Widget之间的间距
// padding: EdgeInsets.all(10),
// crossAxisCount: 2,
// // childAspectRatio: 0.7, //宽度和高度的比例
// children: this._getListData(),
// );
// } //GridView.builder动态网格; Widget _getListData(context, index) {
return Container(
child: Column(
children: <Widget>[
Image.network(listData[index]['imageUrl']),
SizedBox(height: ),
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,
mainAxisSpacing: 10.0,
crossAxisCount:
),
itemCount: listData.length,
itemBuilder: this._getListData,
);
}
}

res/listData.dart

List listData=[
{
"title":"Candy Shop",
"author":"Mohamed Chahin",
"imageUrl":"https://www.itying.com/images/flutter/1.png",
},
{
"title":"Candy Shop",
"author":"Mohamed Chahin",
"imageUrl":"https://www.itying.com/images/flutter/2.png",
},
{
"title":"Candy Shop",
"author":"Mohamed Chahin",
"imageUrl":"https://www.itying.com/images/flutter/3.png",
},
{
"title":"Candy Shop",
"author":"Mohamed Chahin",
"imageUrl":"https://www.itying.com/images/flutter/4.png",
},{
"title":"Candy Shop",
"author":"Mohamed Chahin",
"imageUrl":"https://www.itying.com/images/flutter/5.png",
}
];

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(61)-如何使用框架来开发
  2. XSS零碎指南
  3. HDU #2966 In case of failure
  4. 修改wamp默认网站目录
  5. 【final】站立会议---11.27
  6. 简单排序算法 C++类实现
  7. Nginx 报错: nginx: [error] open() &quot;/usr/local/nginx/logs/nginx.pid&quot; failed (2: No such file or directory) 的解决方法
  8. java线程实践记录
  9. sqlserver access 多数据库操作
  10. Oracle优化技术
  11. vultr和digitalocean vps使用感受
  12. 优化EF性能
  13. redis 持久化之 RDB
  14. RabbitMQ消息队列(九)-通过Headers模式分发消息(.Net Core版)
  15. Teradata 终止回滚方法(rcvmanager工具)
  16. Fence Repair POJ - 3253 哈夫曼思想 优先队列
  17. nginx 反向代理和正向代理功能 第六章
  18. TWELP™ Vocoder
  19. 3d tech
  20. 1126 Eulerian Path (25 分)

热门文章

  1. Mount 使用方法
  2. django 搜索引擎 Elasticsearch 安装使用
  3. FreeRTOS时间管理
  4. Jupyter notebook部署引导
  5. ndk学习之c++语言基础复习----C++线程与智能指针
  6. 【Java 基础实验_Bank项目_06】单例模式(Static Bank) , 查询异常输出
  7. python学习之列表,元祖,字典
  8. 0004SpringBoot整合Redis
  9. Windows启动报错:无效的分区表 解决方法,哈哈
  10. mac安装MySQLdb(mysql-python模块)