Android之高仿雅虎天气
来源:互联网 发布:mac无法打开cad注册机 编辑:程序博客网 时间:2024/05/18 03:24
首先感谢作者:weidi1989 的无私分享
转来自:http://blog.csdn.net/way_ping_li/article/details/38963807点击打开链接
引言:
记得去年下半年有上传一份代码(超逼真仿雅虎天气界面):http://download.csdn.net/detail/weidi1989/6312271
但那仅仅只是一个界面,而且还有一些比较严重的bug,记得其中有一个是:那个可以换位置的ListView无法缓存item,导致上下滚动时相当卡,性能可想而知了。以至于我就放弃继续开发,今年这段时间忙里偷闲,刚好有网友说要我继续把功能做完,那个换位置的ListView可以去掉,于是乎拿出来又折腾了一下,虽然还是没有解决这个问题(已经干掉此功能),但是继续完善了一下。
虽然只是完善,但也会遇到问题,其中两个个人认为比较有意义的是:
①.ListView的多类型Item缓存与优化,不仅仅是ViewHolder以及ListView的Item布局性能优化。
②.ViewPager使用Fragment,包括动态添加删除以及缓存和优化。
这两个问题,我会在接下来的文章中跟大家详细讲解(敬请期待)。
由于本人时间和人力有限,应用未经过仔细完善测试,有bug也是在所难免,敬请谅解
先来看看效果图(源码滚动到文章底部):
源码地址:
GitHub:https://github.com/way1989/WayHoo
OsChina:http://git.oschina.net/way/WayHoo
CSDN:http://download.csdn.net/detail/weidi1989/7847811
版本已升级至1.0.1
源码地址:
GitHub:https://github.com/way1989/WayHoo
OsChina:http://git.oschina.net/way/WayHoo
本例使用了6个库代码和1个主工程代码。
一、6个库代码如下图所示:
其中
①.MenuDrawer、ViewPagerIndicator、ShowcaseView、SwipeBack都是Github上有名开源库。
MenuDrawer 侧边栏菜单开源库
ViewPagerIndicator 与ViewPaper一起实现Tab标签,参考:http://blog.csdn.net/xiaanming/article/details/10766053
ShowcaseView 视图效果显示,可以高亮屏幕某一部分 或者 展示某些手势示意图,多用于APP的用户指引界面
SwipeBack 滑动回滚
②.PullToRefresh也是Github上有名的下拉刷新开源库,我做了一些小修改,主要是将雅虎下拉刷新的效果添加到其中。如下图所示:
③.weather-lib就是我之前和大家分享的小米天气源,只是加入了本地缓存,也不作多介绍,请参考:http://blog.csdn.net/way_ping_li/article/details/29669045。
二、主代码结构如下图所示:
其中:
com.way.adapter:所有适配器,包括ListView和ViewPager之类。
com.way.beans:所有Java Bean存放的地方。
com.way.common.util:所有工具类存放地方,比如网络判断、系统工具、时间工具等等。
com.way.db:即本工程使用的数据库管理类,就一个文件CityProvider.java,本人比较喜欢使用ContentProvider,确实感觉比直接操作数据库来得方便,而且可以同时处理一个数据库的多个表,只是uri不同,switch case时多判断一下即可。
com.way.fragment:本工程使用到的Fragment,只有一个文件。
com.way.ui.view:所有自定义View,其中值得一提的是TouchDispatchView,顾名思义是分配touch事件的View,由于本代码使用的是scrollview作为下拉刷新,ListView用来显示数据,所以两个View都需要touch事件,就需要一个父容器来分配他们的touch事件。
com.way.yahoo:所有activity所在包。
好了,今天就到此结束,下次和大家详细分析以下3个方面:
①.主界面上滑变模糊,背景跟随滑动。
②.ListView和GridView中遇到多类型item的处理。
③.ViewPager使用fragment的缓存与优化。
谢谢!
- Android之高仿雅虎天气(一)
- Android之高仿雅虎天气
- Android之高仿雅虎天气(一)
- Android之高仿雅虎天气(二)---代码结构解析
- Android之高仿雅虎天气(二)---代码结构解析
- Android之高仿雅虎天气(二)---代码结构解析
- Android之高仿墨迹天气桌面组件(AppWidgetProvider)
- Android之高仿墨迹天气桌面组件(AppWidgetProvider)
- Android之高仿墨迹天气桌面组件(AppWidgetProvider) .
- Android 高仿墨迹天气“我”页面
- Android 高仿墨迹天气“我”页面
- (4.1.27.1)Android之桌面组件App Widget案例之高仿墨迹天气桌面组件
- 高仿墨迹天气黄历
- 高仿墨迹天气-天鹰气象
- 高仿墨迹天气-天鹰气象
- 高仿墨迹天气 白天晴天
- 高仿墨迹天气下拉拉伸图片
- 高仿墨迹天气“我”页面
- Xcode进行异步任务的单元测试
- C# 装箱 折箱
- HTML meta viewport属性详细说明
- 矩阵分解
- 详解Java GC的工作原理+Minor GC、FullGC
- Android之高仿雅虎天气
- Android Notification通知详解
- 关于JAVA 用POI 导出Excel
- ioctl函数
- C3P0的详细配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)
- 学习嵌入式开发要学习哪些知识?
- Latex使用技巧
- node pm2进程管理器
- 关于微信网页授权