天天看点

仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现

<a href="http://blog.csdn.net/qq_26787115/article/details/51026259">仿百度壁纸客户端(一)——主框架搭建,自定义tab + viewpager + fragment</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51031034">仿百度壁纸客户端(二)——主页自定义viewpager广告定时轮播图</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51049195">仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51079824">仿百度壁纸客户端(四)——自定义上拉加载实现精选壁纸墙</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51104410">仿百度壁纸客户端(五)——实现搜索动画gesturedetector手势识别,动态更新搜索关键字</a> <a href="http://blog.csdn.net/qq_26787115/article/details/51105999">仿百度壁纸客户端(六)——完结篇之gallery画廊实现壁纸预览已经项目细节优化</a>
上回把广告轮播图给实现了,今天就来把主页的大部分功能给实现了
我们仔细想想,我们的主页架构,首先他是上下滑动的,所以这样要一个scrollview,然后就是轮播图和其他内容了,这样的话,上下滑动有事件,轮播图也有事件,我们先看下xml的实现原理
這裡很清晰的可以看出层级关系了,他事件冲突时必然的,解决办法也是很简单,就单以这个架构来讲的话,其实只要判断他是上下滑动还是左右滑动就好,如果是左右滑动,就不给scrollview传递事件了,如果是上下滑动的话,让scrollview自身来处理了,所以我们需要重写scrollview
ok,我们运行一下
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
关键是把逻辑处理好
我们可以看看百度壁纸的效果,我们也来实现一下
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
我们要实现的就是下面的一个壁纸列表,这里我们就要考虑一下了,怎么去实现,实际上,不管是scrollview还是gridview他们都是内存超出屏幕才回去执行滑动事件,这样的话,我们自定义一个gridview把高直接写好就可以了
然后我们就可以写布局了
现在触摸事件已经ok了
这里我们没有借口,就使用本地的壁纸了,但是完全都是按照网络请求操作来的,这里使用的解析图片的开源看是smartimageview 既然要使用gridview,那就必须要有一个实体类和一个item吧
然后我们回到homefragment中,我们定义一个方法initgriddata
现在可以定义一个adapter了
写到这里,基本上就可以看到效果了
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
但是还是有一些细节需要处理的,比图scroolview一进来需要回滚到第一行
看代码应该就能看的很清晰了吧,我们来演示一下
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
有一点小粗糙,这就需要各位自己去完善了
我们滑动到最后会发现,有一个意见反馈,我们去实现它
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
在这里我们先不做跳转,先只是十点他的点击效果吧,也是相当点击简单,我们只要在disgridview加上一个布局
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
就可以了,这里我们还要实现它的点击效果
让我们来运行一下吧
仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现仿百度壁纸客户端(三)——首页单向,双向事件冲突处理,壁纸列表的实现
这里我把完整的homefragment贴上,就不上传源码了
好了,我们首页就已经做好了,是不是非常的简单尼?在我们的分析之后,其实这个软件也就那么回事哈

继续阅读