
作为一个新手,学完基础总想做点什么东西出来。于是我试着去模仿那些优秀的开源作品。
模仿作品: LookLook开源项目
经过一些波折和学习,写下模仿过程。
实际上我花了大概三天才弄懂所有的东西,不过有了经验确实可以在一个小时里完成。
rxjava和retrofit以及一个开源扩展的recyclerview和注解框架butterknife
集体依赖如下:
新建项目,选择模板---->调整模板
可以看到有menu里面两个文件
一个是主菜单,显示在Toobar上面
另一个是抽屉的菜单,按需修改即可。
activity_main_drawer.xml
抽屉除了menu还有上面一部分,可以设置头像和签名。
nav_header_main.xml
主界面大概这就可以了,剩下的就是要动态添加fragement到FragLayout里面去。
首先新建fragment_news,布局文件只需要一个 EasyRecyclerView 即可
添加依赖
我的数据来自 天性数据 ,只需要注册即可获得APIKEY。
数据请求核心代码:
创建retrofit的请求接口
注意返回的是Gson数据而且设置为"被观察者"
数据获取函数:
Gson是谷歌的Json处理包,添加依赖。
compile 'com.google.code.gson:gson:2.7'
配合插件:GsonFormat可以快速通过json数据建立对应类。
由于我们使用的是被扩展的recyview,所以用起来很方便。
具体使用去作者的githua EasyRecyclerView
Adapter
继承recycle的adapter,主要返回自己的ViewHolder
3.设置recycleview
一个专注于平滑图片加载的库:
依赖:
compile 'com.github.bumptech.glide:glide:3.7.0'
基本使用:
布局:使用CoordinatorLayout实现上拉toolbar压缩动画。
CoordinatorLayout+AppBarLayout里面配合CollapsingToolbarLayout布局技能实现toolbar的动画:
上面的Imgview加载图片,下面的webview加载文章内容
到这里基本完成:最后动态添加fragment
效果测试:
my.gif
只是勉强能用,还有很多细节没有优化。接下来好要继续学习。
框架导入:
搜索依赖butterknife导入:
使用步骤:
注意我这里写的是8.40版本,和以前的有区别。
如果的ButterKnife是8.01或者以上的话
需要添加以下内容:
1. classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
2. apply plugin: 'com.neenbedankt.android-apt'
3. apt 'com.jakewharton:butterknife-compiler:8.4.0'
Android Studio上方便使用butterknife注解框架的偷懒插件 Android Butterknife Zelezny :
技巧:鼠标要移动到布局文件名上。