基于Material Design设计的分享文字图片的APP

写在前面:这个项目是自己当时为了准备面试而做的,由于时间匆忙,水平有限,项目多多少少存在一些问题。代码的整洁性与复用性,以及整体架构的搭建都不尽人意,大家看看里面的一些效果就好。

Material Design–Google在I/O 2014上推出了新的设计语言,核心设计原则就是隐喻,视觉设计,动画。引用基友的话就是,遵循用户体验来实现一些让用户用起来舒适满意的动画效果及设计。CSDN,Github,开源中国上出现了许多优秀的Material Design开源项目,各种好看的库文件也可以直接拿来用,十分方便。

废话不多说,直接上效果图

1.主界面
基于Material Design设计的分享文字图片的APP

主界面搭建:
Toolbar + DrawerLayout实现的菜单侧滑
PagerSlidingTabStrip+viewpager+fragment实现选项卡左右滑动
RippleEffect实现的点击水波纹效果
RoundImageView实现的圆形头像
FloatActiconButton悬浮按钮的实现
参考资料:

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0303/2522.html
http://blog.csdn.net/lmj623565791/article/details/45303349

2.滑动变色与下拉缩放

基于Material Design设计的分享文字图片的APP

之前一直想用Toolbar与Palette结合来实现,最后还是采用了监听viewpager的滑动来实现Toolbar的变色
PullToZoomScrollView实现下拉自动放大头部View
参考资料:

http://blog.csdn.net/bbld_/article/details/41439715
http://www.jcodecraeer.com/a/opensource/2014/1208/2132.html

3.头像上传
基于Material Design设计的分享文字图片的APP

Material Dialog:Google Material 风格Android对话框,灵活方便
参考资料:
http://www.open-open.com/lib/view/open1415171087340.html
这里之前一片博客写的很清楚,选择手机相册与拍照上传两种方式

http://blog.csdn.net/tyk0910/article/details/50236233

4.修改昵称
基于Material Design设计的分享文字图片的APP

修改完昵称以后,记得在其他界面重写onResume()方法来刷新昵称与头像,达到即时更新效果

5.修改密码
基于Material Design设计的分享文字图片的APP

TextInputLayout带动画的输入框,这种效果很好的输入框真心值得推荐
参考资料:

http://www.mamicode.com/info-detail-965904.html

6.发送文字
基于Material Design设计的分享文字图片的APP

这里有个小细节就是初始化界面的时候,会自动定位到你当前的位置,然后自动显示在地址栏。
CircularProgressButton处理耗时的操作的动画button
参考资料:

http://blog.csdn.net/hongjinqun/article/details/30221201
http://blog.csdn.net/tyk0910/article/details/50146149

7.发送图片

基于Material Design设计的分享文字图片的APP

这个算是APP最难处理的地方了,参考了好多网上的资料进行修改整理,最后达到了这种效果。选择,预览,删除,上传,显示。

8.点击预览

基于Material Design设计的分享文字图片的APP

CollapsingAvatarToolbar 头像随ListView滚动缩回到ActionBar特效

原本想预览页面可以用GridView+ImageView实现,后来看到一篇博客,用Dialog实现的,方便又轻巧
参考资料:
http://blog.csdn.net/soul_code/article/details/50448443

9.下拉刷新与上拉加载
基于Material Design设计的分享文字图片的APP

需要注意的是分页查询的使用与显示
Android SwipeRefreshLayout下拉刷新与上拉加载,之前一片博客说的很清楚:

http://blog.csdn.net/tyk0910/article/details/50427531

10.登录注册
基于Material Design设计的分享文字图片的APP

切换账号的时候,记得清空缓存再进行登录注册。

11.服务器后台

我用的是Bmob后端云,所有数据都是从上面存储与读取的,开发文档很详细。这是部分数据截图
基于Material Design设计的分享文字图片的APP
参考资料:

http://www.bmob.cn/

12.其他技术
图片的上传,下载,缓存,我用的是Universal-Image-Loader来异步加载网络图片:
参考资料:
http://blog.csdn.net/tyk0910/article/details/50375070

回调的使用:
http://blog.csdn.net/tyk0910/article/details/50564917

其他就是数据的显示,更新,存储,读取,按照开发文档以及业务逻辑就行

最后就是贴一下使用的库文件以及jar包:
基于Material Design设计的分享文字图片的APP

基于Material Design设计的分享文字图片的APP

上一篇:MVP与MVVM模式


下一篇:Fragment与Activity的相互通信(二)