码迷,mamicode.com
首页 > 其他好文 > 详细

导航区域 温故GridView 和 column

时间:2020-01-21 19:43:39      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:future   center   idg   get   GridView   turn   container   homepage   渲染   

代码:

import ‘package:flutter/material.dart‘;
import ‘package:flutter_screenutil/flutter_screenutil.dart‘;
class TopNavigator extends StatelessWidget {
final List navigatorList;

TopNavigator({this.navigatorList});

Widget _gridViewItemUI(BuildContext context,item){
return InkWell(
onTap: (){
print(‘点击了导航‘);
},
child: Column(
children: <Widget>[
Image.network(item[‘image‘],width:ScreenUtil().setWidth(95)),
Text(item[‘mallCategoryName‘])
],
),
);
}

@override
Widget build(BuildContext context) {
if (this.navigatorList.length > 10) {
this.navigatorList.removeRange(10, this.navigatorList.length);
}
return Container(
height: ScreenUtil().setHeight(320),
padding: EdgeInsets.all(10.0),
child: GridView.count(
crossAxisCount: 5,//每行5个
padding: EdgeInsets.all(5.0),//间距
children: navigatorList.map((item){
return _gridViewItemUI(context, item);
}).toList(),//切记返回一个集合 tolist()
),
);
}
}
 
加载导航区域代码:
Container(
child: FutureBuilder(//网络数据返回能很好的渲染控件
future: getHomePageContent(),//网络返回的数据
builder: (context,snapshot){
if (snapshot.hasData) {//snapshot 相当于返回的数据
var data = json.decode(snapshot.data.toString());
 
List<Map> swiper = (data[‘data‘][‘slides‘] as List).cast();

List<Map> navlist = (data[‘data‘][‘category‘] as List).cast();
return Column(
children: <Widget>[
SwiperDiy(swiperDataList: swiper),
TopNavigator(navigatorList: navlist),
],
);
}else{
return Center(
child: Text(‘加载错误‘),
);
}
},
),
);

导航区域 温故GridView 和 column

标签:future   center   idg   get   GridView   turn   container   homepage   渲染   

原文地址:https://www.cnblogs.com/pp-pping/p/12222787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!