美文网首页
智慧背景项目总结

智慧背景项目总结

作者: iammj1584 | 来源:发表于2016-05-22 11:49 被阅读0次

最近做了一个仿智慧北京的项目,这是一个类似网易新闻客户端的项目.因为闲来无事,就想把自己之前所学的知识捡起来,顺便看一看自己在哪些知识点方便比较薄弱,所以也算是对自己的一个阶段性的自省吧.下面这张图是这个项目的主界面的效果图的一部分.

效果图

首先做一个项目,必须先搭好ui框架,因为这是唯一与用户交互的接口,所以这个框架的逻辑必须简洁明了,但同时也必须满足大多数用户获取资讯的这个需求.做这个框架我就花了大半天.因为splash页面和新手引导页面非常简单,在此我就不赘述了.


主界面ui框架图

这是我认为整个智慧北京项目最复杂也是最有价值的部分了.整个ui框架以一个actiivty+多个fragment的模式构建,这样既可以简化activity的逻辑,也可以达到解耦的目的.

LeftFragment+ContentFragment实现的侧边栏+主页的效果,既可以通过自定义控件实现,也可以使用开源框架SlidingMenu,这里我们使用了后者,以简便开发流程.

ContentFragment的布局由一个ViewPager+RadioGroup(RadioButton)来实现,ViewPager可以实现五个页面的左右切换.而RadioGroup的点击事件可以通过ViewPager来完成页面的切换.

由于这个标签页的view结构类似,于是通过向上抽取一个抽象类BasePager来封装,并在内部封装两个方法initView()和initData(),因为五个页面的布局结构类似,所以直接在这个父类的initView里完成view的初始化,并通过一个成员变量mRootView来维护这个布局对象.而initData()这里面的数据由子类自己去实现,五个标签页通过继承这个类,继承initView方法,重写initData方法来实现自己的具体的业务逻辑.

接下来就要进入到这个ui框架最容易被绕进去的地方:NewsCenterPager.新闻详情页默认选中NewsMenuDetailPager,NewsMenuDetailPager的ui主体部分由一个viewpager+listview来实现,由于在fragment里已经有一层viewpager,所以此处的viewpager的滑动事件会出现一些小bug,这主要是由于android的事件分发机制导致的,由于上层控件已经拦截了触摸事件,导致触摸事件不能继续传递到下层控件,于是下次viewpager的滑动效果就不能实现,所以此时必须通过重写dispatchTouchEvent方法调用getParent().requestDisallowInterceptTouchEvent(true)来请求父控件及祖宗控件不要拦截子控件的触摸事件,不过此处因为并不是任何时候都是自己处理触摸事件,所以需要判断触摸的位置来判断触摸事件是子控件自己处理还是交给上层控件处理.在这层逻辑中还是用了viewpagerindicator这个开源框架来完成可自动滑动的新闻分类标签和页面指示器的实现.

整个智慧北京项目的精华部分也就是在这个ui框架了,我暂时也就总结到这里了,当是对这个项目的一个回顾和总结.等以后有时间了再来做一些完善和补充.

相关文章

  • 智慧背景项目总结

    最近做了一个仿智慧北京的项目,这是一个类似网易新闻客户端的项目.因为闲来无事,就想把自己之前所学的知识捡起来,顺便...

  • 基于Python的嘤熊联萌-MF版票务查询系统 课程报告+项目源

    目录 项目背景及意义 - 2 - 项目亮点 - 3 - 项目的实现 - 6 - 项目分析以及项目总结 - 17 -...

  • Flutter #02 一款仿微信的 Flutter 版 app

    目录:项目背景项目设计项目框架实现结果总结 1. 项目背景 学习 Flutter 也有一段时间了,做一款 Flut...

  • Flutter #04 一款仿微信的 Flutter 版 app

    目录:项目背景项目设计项目框架实现结果总结 1. 项目背景 学习 Flutter 也有一段时间了,做一款 Flut...

  • 智慧海关项目总结

    1. IE的兼容性问题(ES6语法,这里踩的坑是for of),如果脚本报找不到或者分号的问题。大概率是因为语法错...

  • 【产品分析】PiliPili弹幕复盘总结

    本文分为项目背景、项目历程、问题总结和个人感想。其中个人以为干货集中在问题总结部分,如有阐述不清楚的地方,可以参考...

  • 2019-04-10

    雷雁雄4月10日总结:今天来文山出差,沟通智慧社区项目。

  • 01项目总结-工作习惯的养成

    从2013年开始,形成了做项目总结的习惯, 每个项目分析从几个方面:项目背景、设计思路、完成情况、改进细节。 最初...

  • 项目背景

    什么是项目背景? 项目背景它就像是一个立项声明,向别人说明你这个项目是为了解决什么用的什么问题。 项目背景的作用?...

  • 项目背景

    新乡市地处平原地带,耕地面积覆盖较广。据河南省统计局相关数据显示,新乡市2016年全年(不含长垣)夏粮总播种面积4...

网友评论

      本文标题:智慧背景项目总结

      本文链接:https://www.haomeiwen.com/subject/evxlrttx.html