仿知乎日报——首页部分
首先,要用到的图标,可以在这里找
标题栏
标题栏这一部分虽然可以使用普通的TitleBar来实现,但是,作为一个追求完美(并且想偷懒)的人,我们有更好的工具去实现它。
可以看到,在侧滑菜单栏划出的时候,左上方的三个横线会改变样式,而且动画其实比较复杂。自己去实现,可以说是非常麻烦。
ToolBar是 Android 5.0提供的实现这个效果的好工具,而且是我最喜欢的MD的风格,具体怎么使用放到后面一起说,下面有个比较全的资料
侧滑栏
侧滑栏抽屉布局在Android实现的方式有很多,最简单易懂的还是使用官方提供的布局DrawerLayout
这个布局实现侧滑使用起来还是比较简单易懂的,但是布局中的内容,可以发现其实也并不简单,包含了四五个View
但是作为新时代的程序员,我们还是要学会偷懒
又是因为Android5.0的到来,给我们带来了NavigationView
这个东西,又是一个新鲜的偷懒神器
图片轮播栏
图片自动轮播栏这个地方就比较麻烦了。建议你放到后面去做,如果时间不够,做个能滑动的就好了,也就是,使用普通的ViewPager来实现就好
但是,如果你想完全按着知乎日报的轮播栏来实现一份的话,那就不能只是使用这个了,因为这一部分有几个难点
- 自动播放+手动翻页
- 循环播放
- 图片加载
图片加载这个简单,这个放到之后再说,但是自动播放和循环播放就比较麻烦,可以使用别人封装好的一些自定义View,比如
当然,还有别的实现方式,可以参考
第一个用起来其实是比较方便的,但是用别人的东西,特别是这种不是很大的东西,最好是能自己仔细看一看代码,不要直接就复制粘贴,这样对于学会这个东西一点帮助都没有。
但是也不要非逼着自己,什么东西都要自己做,如果能看懂了人家的代码,那也是挺不错的。
不要重复地造轮子
下半部分RecycleView
列表项RecycleView这个东西,伴随着5.0到来,目的就是为了取代ListView和GridView这两兄弟出现的。所以说咱们还是尽量使用RecycleView吧,有新的东西就用新的东西嘛。
其实,这个整个页面,严格来说都是一个RecycleView,上半部分的轮播应该作为RecycleView的Header来实现,但是这个要求是有点高了,如果你能把下面这篇博客的东西学会了,基本RecycleView就学会了百分之70了
除开界面之外的东西
网络
敲黑板!划重点了啊!
网络这个部分应该是最核心的一块,毕竟这个界面上的东西都是从网络上加载下来的嘛,这部分的内容实在是太多太复杂了,如果真要吃透,别说一周,可能一两个月都不一定能学会。
这样是不是有点吓人了,别怕,虽然不能完全理解,但是使用还是没问题的
现在主流的网络框架,我当时发到群里的链接有写,我还是比较推荐你使用OkHttp,因为这个网络框架最近比较火,由于封装了一层,用起来也比较简单,而且,也有很多在此基础上,再进行封装的库可以使用
这个博客写的非常好,里面也有给出他封装好的第三方库的GitHub的链接,跟着使用还是比较好理解的
但是把东西请求回来只是网络的第一步,接下来,要对请求回来的东西(Json)进行解析
这时候,就需要请出我们的Gson了
同时,加载回来的东西里,可能会包含有图片,图片的处理,其实真的要自己做的话也挺麻烦的
可能你会觉得,图片不就放到ImageView里就好了,可是一般请求回来的数据,都只是一个图片的Url,如果不下载下来,是肯定没办法直接放到ImageView里的,那要怎么下载呢,下载之后又怎么处理呢?
这一系列的事情,早就有很成熟的网络图片加载框架来为我们完成了,使用起来简单又快捷