用Flutter开发的跨平台项目,完美运行在Android和IOS上,Material简洁风格,包括启动页、引导页、注册、登录、首页、体系、公众号、导航、项目,还有漂亮的妹子图库,运行极度流畅,结构清晰,代码规范,值得拥有
Flutter学习资源汇总持续更新中......
- Flutter官方网站
- Flutter中文网
- wendux的Flutter实战
- Flutter官方exampleflutter_gallery
- 阿里巴巴咸鱼团队系列文章
- 阿里巴巴flutter-go,flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档
- 玩Android跨平台项目
- 非常有用的Json转Model插件
- Flutter-Notebook,提供了很多优秀样例和Demo
前言
- 这是一款使用Flutter写的WanAndroid客户端应用,在Android和IOS都完美运行
可以用来入门Flutter,简单明了,适合初学者- 项目完全开源,如果本项目确实能够帮助到你学习Flutter,谢谢start一下,有问题请提交Issues,我会及时回复
环境搭建
- 根据Flutter中文网搭建开发环境,使用Android Studio安装Flutter插件,点击pubspec.yaml的package get,然后运行
App目录结构
- |--lib
- |-- main (入口类)
- |-- loading (启动页)
- |-- splash_screen (引导页)
- |-- util (工具类)
- |-- base (基类,封装基类BaseWidget和BaseWidgetState)
- |-- http (网络请求相关类)
- |-- common (常用类)
- |-- event (事件类)
- |-- model (实体类)
- |-- ui (界面相关)
- |-- util (工具类)
功能介绍
V1.4版本
- 增加切换主题
- 封装基类BaseWidget和BaseWidgetState
- 显示隐藏AppBar
- 增加状态页切换(数据加载中,数据加载失败,空数据)
V1.3版本
- 新增搜索和搜索结果列表
- 新增页面正在加载...使用flutter_spinkit
- 整个界面UI风格修改
V1.2版本
- 新增福利,妹子图,你懂得
- 新增分享share
- 新增常用网站
- 新增关于作者,退出登录
V1.1版本
- 新增引导页flutter-intro-slider
- 列表页悬浮FloatingActionButton,点击迅速回到顶部
- 新增注册、登录、我的收藏,增加侧滑抽屉,详见截图
V1.0版本
- 项目首页、知识体系、公众号、导航、项目、各个页面,和详情页面
- 主要的UI包括首页轮播图和列表,体系流式布局,公众号导航TabBar,以及下拉刷新和加载更多
- 轮播图使用的是开源库flutter_swiper
- 网络请求使用的是开源库dio
我的主页
下载
- Android点击下载,或者扫描下方二维码下载

- 暂不支持IOS版本下载,请自行clone项目代码运行。
应用截图























感谢
- 特别感谢github开源作者shijiacheng
- 感谢鸿洋大神及玩Android官网提供的开放API
- 感谢干货集中营 API
使用开源库
- flutter_spinkit
- share
- flutter_swiper
- cupertino_icons
- flutter_webview_plugin
- dio
- flutter-intro-slider
用Flutter开发的跨平台项目,完美运行在Android和IOS上,Material简洁风格,包括启动页、引导页、注册、登录、首页、体系、公众号、导航、项目,还有漂亮的妹子图库,运行极度流畅,结构清晰,代码规范,值得拥有的更多相关文章
- idea ssm项目迁移到另一台机器上时出现不能正常启动项目的解决方案
首先右下角提示关联spring文件,关联之,然后启动,发现项目无法启动,然后开始排错 首先从这个日志里发现了这么一条提示信息 然后百度了一下,答案都是说 web.xml 之类的 spring拦截器问题 ...
- 十分钟使用ionic Framework开发一个跨平台移动应用
Ionic是一个前端的框架,帮助开发人员使用HTML5, CSS3和JavaScript做出原生应用. ionic的理念类似前端开发的BootStrap,目标是封装HTML5移动跨平台开发的最佳实践. ...
- Flutter与Xamarin跨平台移动开发相比
在过去十年中,移动行业经历了巨大的增长,特别是在应用程序开发方面.据Statista报告称,全球智能手机用户超过20亿,预计到2022年底这一数字将增加到50亿以上.在这些智能手机中,近100%在三个 ...
- 安装与配置Flutter开发环境
这篇博客我们介绍了Flutter,并且对比了H5,React Native,Flutter. 由于Flutter是跨平台的开发框架,开发一次可以同时运行在Android和iOS上面,所以我们开发时最好 ...
- python之代码规范
第一章 为什么要有规范化目录 真正的后端开发的项目,系统等,少则几万行代码,多则十几万,几十万行代码 软件开发,规范你的项目目录结构,代码规范,遵循PEP8规范等等,让你更加清晰,合理开发. 1.代码 ...
- Mac下配置cocos2d-x开发环境(android和ios)
一.下载cocos2d-x http://cocos2d-x.org/projects/cocos2d-x/wiki/Download cocos2d-x-2.1.4.zip @ June.18, 2 ...
- cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)
一.下载cocos2d-x http://cocos2d-x.org/projects/cocos2d-x/wiki/Download cocos2d-x-2.1.4.zip @ June.18, 2 ...
- 微信公众号开发流程,jssdk的使用以及签名算法的实现
一 开发流程 1 基本配置-登录自己的公众号 A:新型微信认证,认证过的企业号才可以进行自定义菜单中的连接跳转: B:开发基本配置里面进行开发者iD查询,密码查询和重置和ip白名单配置: C:公众号设 ...
- 怎样将本地web数据库项目部署到腾讯云服务器上?
怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...
随机推荐
- 从Jensen不等式到Minkowski不等式
整理即证 参考资料: [1].琴生不等式及其加权形式的证明.Balbooa.https://blog.csdn.net/balbooa/article/details/79357839.2018.2 ...
- Codechef April Challenge 2019 游记
Codechef April Challenge 2019 游记 Subtree Removal 题目大意: 一棵\(n(n\le10^5)\)个结点的有根树,每个结点有一个权值\(w_i(|w_i\ ...
- Python面向对象编程指南
Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...
- Android SQLite数据库升级,怎么做(事物更改)
SQLiteOpenHelper // 如果数据库文件不存在,只有onCreate()被调用(该方法在创建数据库时被调用一次) public abstract void onCreate(SQLite ...
- webServices 使用GET请求接口方法
webServices 若要使用GET请求接口方法在Web.config 下添加这段 <webServices> <protocols> <add ...
- js判断时间段
开始时间小于结束时间的判断,下面是封装号的方法,直接可以调用: var data = new Date(); var year = data .getFullYear(); //获取完整的年份(4位) ...
- VS之设置文件编码格式
VS2012默认格式为 "GB2312-80",很多时候可能出现乱码情况,就是编码问题,如何在VS里修改呢? 文件->“高级保存选项 ” 选择gb2312
- 关于阿里云Centos7 Mailx发送邮件失败的处理
开始通过配置系统自带的mail 发送邮件 在其中一台服务器怎么都不行 /etc/mail.rc配置: set from="邮箱名" set smtp="smtp.163. ...
- java课程之团队开发冲刺阶段1.7
一.总结昨天进度 1.昨天学习了对数据库增删改查的基本操作,并且可以使用代码实现操作 二.遇到的问题 1.由于是学习阶段,没有遇到太大阻碍,但是最终需要实现的是联网进行数据库的读写或者是对本地数据库的 ...
- 【原创】XAF ITreeNode+NonPersistent 使用方式
在XAF中使用非持久化对象创建出TreeList这种树形结构 private void SetShowRFID(TArchivesBorrow archivesInStorage, string rf ...