GridView 格式
GridView.count(
crossAxisCount:2,
mainAxisSpacing: 10,
crossAxisSpacing: 10,
children: [
Container(
child: Column(
children: [
Image.network(
"https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2767608770,826089718&fm=26&gp=0.jpg",
width: 190,
fit: BoxFit.cover,
),
SizedBox(height: 60,),
Text("what are you doing?"),
],
),
),
Container(
child: Text("what are you doing? 2"),
decoration: BoxDecoration(
color: Colors.blue
),
),
Container(
child: Text("what are you doing? 3" ),
decoration: BoxDecoration(
color: Colors.pink
),
),
Container(
child: Text("what are you doing? 4" ),
decoration: BoxDecoration(
color: Colors.green
),
),
],
);
GridView builder
class HomeContent extends StatelessWidget {
var list = [
{"title": "a", "age": 1},
{"title": "b", "age": 2},
{"title": "c", "age": 3},
{"title": "d", "age": 4},
];
Widget _getData(context, index) {
return Column(
children: [
Image.network(
"https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2767608770,826089718&fm=26&gp=0.jpg",
width: 190,
fit: BoxFit.cover,
),
Text(this.list[index]["title"].toString() + ": " + this.list[index]["age"].toString()),
],
);
}
@override
Widget build(BuildContext context) {
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: 10,
crossAxisSpacing: 10,
childAspectRatio: 1,
),
itemCount: this.list.length,
itemBuilder: this._getData,
);
}
}