Flutter
xingfeng_coder
路漫漫其修远兮,吾将上下而求索
Gitbook地址:https://xingfeng.gitbook.io/hust
简书地址:https://www.jianshu.com/u/57f41372c68e
展开
-
Flutter版本玩Android(2)——主页面数据获取
上一部分构造了主页面,这一部分主要完成主页面三个tab的数据获取,下一步的点击事件目前都未处理。先看下效果:使用的库这部分接入了几个三方库,分别是:网络库:Dio,这部分封装了一个单例出来,负责网络请求首页轮播图:BannerViewjson序列化:json-serializable,这部分需要注意如何生成辅助代码,可以参考后面的example首页下拉刷新、上拉加载:pull_t...原创 2019-08-04 16:14:14 · 423 阅读 · 0 评论 -
Flutter状态管理(1)——InheritedWidget
状态管理Flutter的状态管理分为两种:局部状态和全局状态。局部状态:根据官方的含义,就是一个StatefulWidget可以搞定的,比如BottomNavigationBar、PageView等等,其他Widget不需要知道你的状态,你也不需要依赖其他Widget的状态;setState可以实现状态的切换;全局状态:整个app很多页面都需要用到的状态,比如是否登录了,用户名、用户id等;...原创 2019-09-16 10:12:58 · 2129 阅读 · 0 评论 -
Flutter数据传输
从上往下数据从根往下传数据,常规做法是一层层往下,当深度变大,数据的传输变的困难,flutter提供InheritedWidget用于子节点向祖先节点获取数据的机制,如下例子:class FrogColor extends InheritedWidget { const FrogColor({Key key, @required this.color, @required Widget c...原创 2019-09-12 09:40:23 · 1147 阅读 · 1 评论 -
Flutter版本玩Android客户端(7)——状态管理
在上一篇文章Flutter版本玩Android客户端(6)——登录注册模块以及文章收藏与取消中完成了登录模块,但遗留的问题是未进行状态同步,导致left drawer的状态没有变化。本文继续完善该部分,效果如下:状态管理对于登录状态这个值,很多widget需要用到,属于全局状态,这里使用provider进行管理。关于状态管理的更多知识,可以参考后面的文章。提供初始化状态在main入口处...原创 2019-09-11 19:34:57 · 376 阅读 · 0 评论 -
Flutter版本玩Android客户端(5)——微信公众号tab点击跳转
在Flutter版本玩Android客户端(4)——知识体系tab点击跳转中,完成了主页面知识体系tab的点击跳转,本文主要完成微信公众号tab的跳转。效果如下:微信tab的跳转微信tab的跳转后也是一个文章列表,复用ArticleList这个Widget。代码如下:class _WeChatArticleListWidgetState extends State<WeChatAr...原创 2019-08-12 14:51:37 · 730 阅读 · 0 评论 -
Flutter版本玩Android客户端(6)——登录注册模块以及文章收藏与取消
本篇继上篇Flutter版本玩Android客户端(5)——微信公众号tab点击跳转后,完成了登录注册模块,以及文章收藏与取消。但仍有部分没有完成,比如登录状态的同步,drawer的header中没有因登录状态而改变。先看效果:登录注册玩Android登录后,会返回一个cookie,需要将该cookie保存,然后在一些post接口上带上该cookie表示用户信息,比如收藏、取消收藏都隐含...原创 2019-08-14 20:21:56 · 1069 阅读 · 0 评论 -
Flutter版本玩Android客户端(4)——知识体系tab点击跳转
在Flutter版本玩Android(3)——文章详情页中完成了用webview加载文章详情页,本文趁热打铁,完成知识体系tab的跳转逻辑。和以往一样,先看效果:体系小item的跳转文章列表Widget的封装小item的跳转到一个文章列表,由于发现文章列表和首页可以公用,因此将其抽离出来,完成封装,如下:class ArticleListWidget extends Stateless...原创 2019-08-09 10:39:26 · 448 阅读 · 0 评论 -
Flutter版本玩Android(3)——文章详情页
本文主要包含路由的跳转以及WebView显示文章详情页。效果如下:路由跳转Flutter通过Navigator类来进行页面路由的管理。push:指定跳转的widgetpushNamed:命名路由,string—>widgetpushXXX表示跳转到下一页面,pop表示跳出当前页面,可以携带参数跳转。具体可以参考路由管理。携带参数跳转Navigator.of(contex...原创 2019-08-07 10:27:15 · 845 阅读 · 0 评论 -
Flutter版本玩Android客户端(1)——搭建主页面
最近在学Flutter,想着画点时间做个app,就做玩Android,可以利用现有的APi进行操作。第一步:搭建主页面,如下:主要包括几部分:AppBar,包含Drawaer,可以打开BottomNavigationBar:底部导航栏,切换时body内容变换图标第三个使用了三方图标,后面重点说下如何使用第三方Icon;如果使用Image作为Icon,那么点击的变色不会存在,而使用Ic...原创 2019-08-02 09:58:52 · 568 阅读 · 0 评论 -
Flutter状态管理(2)——单Stream和广播Stream
在Flutter状态管理(1)——InheritedWidget中介绍了状态管理以及如何使用InheritedWidget来实现全局状态的管理。这篇博客将介绍如何使用Stream来实现状态管理。Stream是一种流,在dart中用于异步产生数据,分为两种类型:单订阅Stream和广播Stream。单订阅Stream只允许在该Stream的整个生命周期内使用单个监听器,即使第一个subscript...原创 2019-09-20 10:17:58 · 2463 阅读 · 1 评论