- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
瀑布流waterfall的使用以及Bitmap图像优化原理总结Android的Bitmap图像优化的原文链接:Android的Bitmap图像优化的译文链接:瀑布流的功能实现目标:瀑布流,可简单配置显示列数。下拉刷新上拉加载更多实现瀑布流的代码目录:1、要实现这种特殊的瀑布流布局界面,要自定义个View,自定义View的包:huewu.pla.lib????? MutiColumnListView ----自定义的瀑布流View????? PLA_ListView????------MutiColumnListView的父类,主要是对瀑布流的显示的方法。????? PLA_AbsListView? -----PLA_ListView?的父类,是自定义listview的基类,对绑定数据进行处理。??????PLA_AdapterView----自定义View的是数据适配器,PLA_AbsListView?的父类。??????PLA_HeaderViewListAdapter? -----? 自定义View的头布局和尾布局的适配器,在PLA_AbsListView用到。2、要实现上拉下拉功能,需要对MutiColumnListView进行重写,把头尾和各种手势处理加上:me.maxwin.view????? XListView-----对MutiColumnListView进行重写,把头尾和各种手势处理加上,项目中直接用到的类。????? XListViewFooter-----添加的尾布局。????? XListViewHeader-----添加的头布局。3、这里瀑布流加载的是网络图片,图片下载显示工具包:com.example.android.bitmapfun.util????? bitmapfun是google教程提供的工具包,是对图片的异步加载、缓存的工具,使用很简单,就一个方法把图片url和imageview控件传进去就可以。其显现逻辑感兴趣的可以学一下。4、由于瀑布流图片显示的自动调整宽高,就要对imageview进行重写:com/dodowaterfall/widget/ScaleImageView.java???? widget包里的另外还有两个自定义View不知道干啥使得,项目中也没用到,暂时先不管了。5、工具包和自定义view准备好,调用自己界面显示瀑布流:com/huewu/pla/sample/PullToRefreshSampleActivity.java????? 图片数据显示首先通过网络获得图片的数据,图片数据的实体类包:com.dodola.model再按照实现流程分析下,瀑布流功能的实现逻辑:1、获取网络图片数据,http+json流程没必要说,看下获得的数据:try {if (null != json) {JSONObject newsObject = new JSONObject(json);JSONObject jsonObject = newsObject.getJSONObject(data);JSONArray blogsJson = jsonObject.getJSONArray(blogs);for (int i = 0; i blogsJson.length(); i++) {JSONObject newsInfoLeftObject = blogsJson.getJSONObject(i);DuitangInfo newsInfo1 = new DuitangInfo();newsInfo1.setAlbid(newsInfoLeftObject.isNull(albid) ? : newsInfoLeftObject.getString(albid));newsInfo1.setIsrc(newsInfoLeftObject.isNull(isrc) ? : newsInfoLeftObject.getString(isrc));newsInfo1.setMsg(newsInfoLeftObject.isNull(msg) ? : newsInfoLeftObject.getString(msg));newsInfo1.setHeight(newsInfoLeftObject.getInt(iht));duitangs.add(newsInfo1);}}} catch (JSONException e) {e.printStackTrace();}获得id、isrc、msg这三个一看就知道是什么,iht这个是图片的高,刚看的时候,不知道具体是干啥用的,肯定是来控制图片的显示宽高。?2、自定义adapter对imageview设置数据:@Overridepublic
您可能关注的文档
- 皮带安装2xiugai ban.doc
- 皮具集团绩效考核全套资料.doc
- 郫县巴士公交有限公司管理规章制度.doc
- 彭政老师招商会系统策划与设计.doc
- 啤酒烧鸡翅的做法.doc
- 偏微分各差分格式matlab编程.doc
- 片仔癀主题策划活动.doc
- 片状模塑料(smc).doc
- 票据贴现与税收.doc
- 漂亮的淘宝店铺全屏背景大图制作详细图解.doc
- 2025年在线旅游ODR平台优化与旅游纠纷处理效率提升报告.docx
- 初中教学异常事件监测与处理策略研究教学研究课题报告.docx
- 探讨2025年电商“最后一公里”配送的无人配送车发展前景报告.docx
- 全球数字教育背景下小学数字素养课程内容与方法研究教学研究课题报告.docx
- 2025年工业产品AI图像识别技术精度提升在智能交通领域的应用策略报告.docx
- 2025年高净值客户财富管理需求与金融产品创新趋势报告.docx
- 小学运动会赛事组织与儿童运动损伤预防策略研究教学研究课题报告.docx
- 基于生成式AI的初中英语课堂教师教学决策优化策略与实践教学研究课题报告.docx
- 基于生成式AI的初中生物实验课教学评价体系构建与效果评估教学研究课题报告.docx
- 3 《美术馆公共教育活动的创新性与实践性研究》教学研究课题报告.docx
文档评论(0)