上一部分构造了主页面,这一部分主要完成主页面三个tab的数据获取,下一步的点击事件目前都未处理。
先看下效果:
这部分接入了几个三方库,分别是:
对于首页tab,使用了pulltorefresh控件;对于知识体系和公众号tab,都使用了自身的管理,定义了三种状态,LOAD、SHOW以及ERROR,根据不同state加载不同内容。 大体结构如下代码:
@override Widget build(BuildContext context) { return Container( child: _createBody(), ); }
Widget _createBody() { switch (_page_state) { case PAGE_STATE.STATE_LOAD: return Center( child: CircularProgressIndicator(), ); case PAGE_STATE.STATE_ERROR: return Center( child: RaisedButton( onPressed: () { _fetchWeChat(); }, child: Text('出错了,请重试'), ), );
case PAGE_STATE.STATE_SHOW: return _createShowBody(); } }
关于代码,可以参考: https://github.com/wangli135/wan_android/tree/07733ad17d02acc048925355a874c20004c96f94