flutter 完整项目(mvvm架构)
2019-05-06 本文已影响357人
Darren151666
Github
安卓请扫码下载体验,ios没有证书,无法下载。
![](https://img.haomeiwen.com/i4407596/69e58d100505e07b.png)
项目结构
![](https://img.haomeiwen.com/i4407596/705c19e6205a5016.png)
该项目的特点
1、使用mvvm架构编写。 MVVM架构在Flutter中的简单实践
2、Provide和RxDart 的使用,详细请参考 Flutter | 状态管理特别篇 —— Provide
部分封装介绍
1、refresh组件:刷新组件是在pull_to_refresh的基础上进行的再次封装,该库本身是存在一些问题的,所以就自己改了一下使用。希望该库持续更新,还有其他的刷新库,这里就不详细说了。主要是我们在使用时最好能够读懂别人的组件库的代码,这样才能更好的解决问题。也是一种学习方式。pull__to__refresh
2、OpacityTapWidget组件:OpacityTapWidget组件解决了2个问题:
1)点击效果:点击时child有一个透明度的变化
2)点击的热区问题: OpacityTapWidget内部设置padding增加了点击的热区。
new OpacityTapWidget(
onTap: () {
Navigator.of(context).pop();
},
child: new Icon(Icons.close, color: Colors.white,size: 27,),
)
3、TapWidget组件:和OpacityTapWidget不一样的是TapWidget点击的效果是背景颜色的变化。
![](https://img.haomeiwen.com/i4407596/5b60c797137fb01d.png)
![](https://img.haomeiwen.com/i4407596/2f04e3e3c3cac43c.png)
![](https://img.haomeiwen.com/i4407596/967bc6115a14a6b3.png)
![](https://img.haomeiwen.com/i4407596/f52102175e97f9bb.png)
![](https://img.haomeiwen.com/i4407596/9d485462d831ed2a.png)
![](https://img.haomeiwen.com/i4407596/56ff1dfea5398732.png)
![](https://img.haomeiwen.com/i4407596/c85fb01fe41bbec5.png)