Github
安卓请扫码下载体验,ios没有证书,无法下载。

项目结构

该项目的特点
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点击的效果是背景颜色的变化。







网友评论