美文网首页
仿知乎日报——首页部分

仿知乎日报——首页部分

作者: MiracleSoul | 来源:发表于2017-04-11 12:05 被阅读218次

    首先,要用到的图标,可以在这里找

    阿里巴巴图标库

    标题栏

    标题栏

    这一部分虽然可以使用普通的TitleBar来实现,但是,作为一个追求完美(并且想偷懒)的人,我们有更好的工具去实现它。

    可以看到,在侧滑菜单栏划出的时候,左上方的三个横线会改变样式,而且动画其实比较复杂。自己去实现,可以说是非常麻烦。

    ToolBar是 Android 5.0提供的实现这个效果的好工具,而且是我最喜欢的MD的风格,具体怎么使用放到后面一起说,下面有个比较全的资料

    [最详细的 Android Toolbar 开发实践总结]

    侧滑栏

    侧滑栏

    抽屉布局在Android实现的方式有很多,最简单易懂的还是使用官方提供的布局DrawerLayout

    使用DrawerLayout实现侧拉菜单

    这个布局实现侧滑使用起来还是比较简单易懂的,但是布局中的内容,可以发现其实也并不简单,包含了四五个View
    但是作为新时代的程序员,我们还是要学会偷懒

    又是因为Android5.0的到来,给我们带来了NavigationView

    这个东西,又是一个新鲜的偷懒神器

    Android5.0之NavigationView的使用

    图片轮播栏

    图片自动轮播栏

    这个地方就比较麻烦了。建议你放到后面去做,如果时间不够,做个能滑动的就好了,也就是,使用普通的ViewPager来实现就好

    ViewPager 详解(一)---基本入门

    但是,如果你想完全按着知乎日报的轮播栏来实现一份的话,那就不能只是使用这个了,因为这一部分有几个难点

    • 自动播放+手动翻页
    • 循环播放
    • 图片加载

    图片加载这个简单,这个放到之后再说,但是自动播放和循环播放就比较麻烦,可以使用别人封装好的一些自定义View,比如

    SlideShowView用viewpaper实现图片轮播效果

    当然,还有别的实现方式,可以参考

    Android 仿网易新闻 ViewPager 实现图片自动轮播

    第一个用起来其实是比较方便的,但是用别人的东西,特别是这种不是很大的东西,最好是能自己仔细看一看代码,不要直接就复制粘贴,这样对于学会这个东西一点帮助都没有。

    但是也不要非逼着自己,什么东西都要自己做,如果能看懂了人家的代码,那也是挺不错的。

    不要重复地造轮子

    下半部分RecycleView

    列表项

    RecycleView这个东西,伴随着5.0到来,目的就是为了取代ListView和GridView这两兄弟出现的。所以说咱们还是尽量使用RecycleView吧,有新的东西就用新的东西嘛。

    Android RecyclerView 使用完全解析 体验艺术般的控件

    其实,这个整个页面,严格来说都是一个RecycleView,上半部分的轮播应该作为RecycleView的Header来实现,但是这个要求是有点高了,如果你能把下面这篇博客的东西学会了,基本RecycleView就学会了百分之70了

    Android 优雅的为RecyclerView添加HeaderView和FooterView

    除开界面之外的东西

    网络

    敲黑板!划重点了啊!
    网络这个部分应该是最核心的一块,毕竟这个界面上的东西都是从网络上加载下来的嘛,这部分的内容实在是太多太复杂了,如果真要吃透,别说一周,可能一两个月都不一定能学会。

    这样是不是有点吓人了,别怕,虽然不能完全理解,但是使用还是没问题的

    现在主流的网络框架,我当时发到群里的链接有写,我还是比较推荐你使用OkHttp,因为这个网络框架最近比较火,由于封装了一层,用起来也比较简单,而且,也有很多在此基础上,再进行封装的库可以使用

    Android OkHttp完全解析 是时候来了解OkHttp了

    这个博客写的非常好,里面也有给出他封装好的第三方库的GitHub的链接,跟着使用还是比较好理解的

    但是把东西请求回来只是网络的第一步,接下来,要对请求回来的东西(Json)进行解析

    这时候,就需要请出我们的Gson了

    你真的会用Gson吗?Gson使用指南(一)

    同时,加载回来的东西里,可能会包含有图片,图片的处理,其实真的要自己做的话也挺麻烦的
    可能你会觉得,图片不就放到ImageView里就好了,可是一般请求回来的数据,都只是一个图片的Url,如果不下载下来,是肯定没办法直接放到ImageView里的,那要怎么下载呢,下载之后又怎么处理呢?

    这一系列的事情,早就有很成熟的网络图片加载框架来为我们完成了,使用起来简单又快捷

    Fresco-专为Android加载图片


    主页的东西也就是这些了,东西多好像也不是特别多

    相关文章

      网友评论

          本文标题:仿知乎日报——首页部分

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